布賴恩有一些很好的建議,你應該聽從。而且,正如Manoj所說,你實際上擁有的是一組對象。以下可能會幫助你有點...
列表只是排序的序列:[1,2,3...]
或[2,292,111]
在過去的例子中的第一個元素是2,第二個是292 ...列表/陣列表示用方括號[ ]
對象映射鍵的值:{ name: "Tyler", age: 26, fav_color: "green" }
更名爲「泰勒」,年齡地圖映射到25,等等...而對象按括號表示{ }
mongodb中的文檔是一個對象。所以,如上所述,他們將鍵映射到值。這些值可以是字符串,數字,數組或其他(嵌套)對象)
所以,讓我們來看看您的文件。你有一個包含key id,name,other和multipleArray的對象(文檔)。多重數組映射到的值是對象{ }
的數組[ ]
。
{
id: x,
name: y,
other: z,
multipleArray: [
{lab1: "A", lab2: "B", lab3:"C"},
{lab1: "AB", lab2: "BB", lab3:"CB"},
{lab1: "AC", lab2: "BC", lab3:"CC"}
]
}
MongoDB中有這個功能叫做multikeys,它基本上把你要查詢的價值,並試圖匹配它的陣列中的每個值。
如果你想找個地方multipleArray
包含在文檔{lab1: "A", lab2: "B", lab3: "C"}
文檔,您查詢是這樣的:db.data.find({multipleArray: {lab1: "A", lab2: "B", lab3: "C"}})
我假設已定義的x,y和z。
還有更多的微妙之處和複雜性,但是如果您想了解更多信息,請閱讀mongodb網站上的文檔here或者獲得一本書。
在你的例子中,multipleArray不是陣列的數組。它只是一組對象。你確定你的輸入是正確的嗎? – Manoj 2011-12-23 10:59:24
你好,對不起,我的知識不足。在這種情況下,數組數組和數組對象的區別是什麼?你能解釋一下嗎?謝謝。 – Phil 2011-12-23 11:28:33