1
我想知道是否有任何方法可以進行復雜的選擇。 考慮下面的文檔集合:MongoDB數組謂詞
{
image = "cab"
tags = [
[ "NNP", 0 ],
[ "NN", 1 ]
]
},
{
image = "castle"
tags = [
[ "NNP", 2 ],
[ "NN", 1 ],
[ "VB", 0 ]
]
},
(etc)
我將如何表達,檢查是否tags
包含任何元素一樣,例如查詢,["NN", ?]
在那裏我根本不關心內部數組的整數部分?請注意,內部數組是無序的,整數值是任意分配的。
請注意,我是mongodb的新成員,可能忽略了在文檔中執行此操作的方法。然而,我無法順利使用$elemMatch
:-(
謝謝。我很懷疑。儘管你的查詢不能立即執行,因爲'tags'仍然是一個對象數組,但是發出一個'.find({「tags」:{$ elemMatch:{「tag」:「NN」}}})'did這個技巧在你的模式中很好。 – Manny 2011-04-06 09:14:27
@曼尼:我的查詢都可以;)。 '.find({「tags」:{$ elemMatch:{「tag」:「NN」}}})'給出與.find相同的結果({「tags.tag」:「NN」)'。只要看看[文檔](http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24elemMatch)或詢問是否需要。另外我在我的答案中添加了'點符號'文檔的鏈接。 – 2011-04-06 09:36:43