官方的MongoDB api写的很少关于$ ne http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24ne
所以当我遇到像
这样的东西时db.papers.update({"authors cited" : {"$ne" : "Richie"}},
... {$push : {"authors cited" : "Richie"}})
我别无选择,只能变得完全糊涂。有人可以向我解释一下吗?
答案 0 :(得分:2)
这会将“Richie”添加到作为作者的“Richie”作为论文引用的作者名单中。
另一种方法是使用$addToSet
。
但是,我怎么知道{“作者引用”:{“$ ne”:“Richie”}}是指列表中与“作者引用”相对应的元素,与“作者引用”对应的值相对应?
这有点令人困惑。通常(我确信有异常,但应记录这些异常),所有选择器都针对多值字段的各个值。在Mongo中,这称为"multikeys"。
请注意,这使我最初假设您的查询将针对至少有一位不是Richie的作者的所有论文。然后我检查了,结果证明是错的。为您的问题+1,因为这确实需要更好地记录。