3

公式のMongoDBAPIは、$neについてほとんど書いていません http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24ne

だから私が次のようなものに遭遇したとき

db.papers.update({"authors cited" : {"$ne" : "Richie"}},
... {$push : {"authors cited" : "Richie"}})

完全に混乱するしかない。誰かが私にそれを説明してもらえますか?

4

1 に答える 1

2

これにより、著者として「Richie」がまだない論文に引用されている著者のリストに「Richie」が追加されます。

別の方法は、を使用すること$addToSetです。

しかし、{"引用された著者":{"$ ne": "Richie"}}が、「引用された著者」に対応するリスト内の要素を意味するのか、「引用された著者」に対応する値を意味するのかをどうやって知ることができますか?

それは少し紛らわしいです。一般に(例外があると確信していますが、それらは文書化する必要があります)、すべてのセレクターは複数値フィールドの個々の値を対象としています。Mongoでは、これは「マルチキー」と呼ばれます。

これにより、最初は、クエリがリッチーではない著者が少なくとも1人いるすべての論文を対象としていると想定したことに注意してください。それから私はチェックしました、そしてこれは間違っていることがわかりました。これは本当にもっとよく文書化する必要があるので、あなたの質問には+1。

于 2012-05-04T06:47:02.320 に答える