检查属性值是否存在

时间:2014-08-07 11:11:10

标签: java mongodb mongodb-query morphia

我正在寻找一种检查某个值是否已存在的方法。 我目前的方式是:

store.createQuery(MyClass.class).field(property).equal(value).countAll() > 0;

这是最有效的方式还是有更好的方法来做到这一点? 我不需要全部计算,第一场比赛就足够了。

1 个答案:

答案 0 :(得分:0)

您似乎真的在寻找"createIfMissing"或一般的MongoDB“upsert”行为。这样做是id查询条件找不到要更新的文档然后创建新文档:

ops = store.createUpdateOperations(MyClass.class).set("name", "This Value");
store.updateFirst(MyClass.class).field(property).equal(value), ops, true)

另请参阅MongoDB核心文档中的$set运算符和.update()方法。