我对Morphia和MongoDB都不熟悉。是否有一种使用Morphia的方法,可以检查我的数据库中某个字段是否不为null
,并且存在。例如,在数据库的用户集合中,从以下用户记录中:
{ "_id" : ObjectId("51398e6e30044a944cc23e2e"),
"age" : 21 ,
"createdDate" : ISODate("2013-03-08T07:08:30.168Z"),
"name" : "Some name" }
我该如何使用Morphia查询来检查字段"createdDate"
是否不为空且存在。
编辑: 我正在寻找Morphia的解决方案。到目前为止,我想到了这个:
query.and(query.criteria("createdDate").exists(),
query.criteria("createdDate").notEqual(null));
从文档中,我了解到Morphia不存储空或null字段。因此需要使用
notEqual(null)
。编辑2:从回答中可以看出该问题需要更多的解释。我不能修改
createdDate
。详细说明如下:上面的示例比我的实际问题要简单。我的实际问题涉及到一些我无法修改的敏感字段。而且为了让事情变得更加复杂,我无法控制模型,否则我可以像其中一个答案所建议的那样使用@PrePersist
。当我没有控制模型并且不允许修改字段时,有没有一种方法可以检查null和不存在的字段?
createdDate
在特定日期范围内)听起来很有吸引力,但我想寻找一些通用的解决方案。在我采纳您的方案之前,希望这样做对您没有问题...谢谢! - Segmented