MongoDB $ ne解释

时间:2012-05-04 06:40:57

标签: mongodb mongodb-query

官方的MongoDB api写的很少关于$ ne http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24ne

所以当我遇到像

这样的东西时
db.papers.update({"authors cited" : {"$ne" : "Richie"}},
... {$push : {"authors cited" : "Richie"}})

我别无选择,只能变得完全糊涂。有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:2)

这会将“Richie”添加到作为作者的“Richie”作为论文引用的作者名单中。

另一种方法是使用$addToSet

  

但是,我怎么知道{“作者引用”:{“$ ne”:“Richie”}}是指列表中与“作者引用”相对应的元素,与“作者引用”对应的值相对应?

这有点令人困惑。通常(我确信有异常,但应记录这些异常),所有选择器都针对多值字段的各个值。在Mongo中,这称为"multikeys"

请注意,这使我最初假设您的查询将针对至少有一位不是Richie的作者的所有论文。然后我检查了,结果证明是错的。为您的问题+1,因为这确实需要更好地记录。