2016-06-18 37 views
4

我是新來的monogDB,並試圖設計我存儲我的數據的方式,所以我可以做我想要的各種查詢。說我有一個文件,看起來像在mongoDB中訂購固定長度數組

{ 
    "foo":["foo1","foo2","foo3"], 
    "bar":"baz" 
} 

凡陣列「富」始終是一個長度爲3,和項目的順序是有意義的。我希望能夠進行查詢,搜索「foo2」==某些東西的所有文檔。基本上我想像對待任何舊數組一樣對待「foo」,並能夠在搜索中對其進行索引,所以像「foo」[1] ==這樣的東西。

monogDB支持嗎?將數據儲存起來更正確嗎?

{ 
    "foo":{ 
     "foo1":"val1", 
     "foo2":"val2", 
     "foo3":"val3" 
    }, 
    "bar":"baz" 
} 

改爲?謝謝。

+0

你是什麼意思*「foo2」==某事*?或者你的意思是'foo [2] == something'。 – styvane

+0

我用速記表示「foo2」是數組「foo」中的第二個位置,所以「foo2」將與foo [1]相同。 – jms

回答

2

您詢問的模式很好。

在數組的特定索引處插入: 使用$position運算符。閱讀here

查詢特定索引位置: 使用語法key.index。在:

db.users.find({"foo.1":"foo2"}) 
+0

那更好@ user3100115? – world

+0

謝謝你回答我的問題。 – jms