2016-06-18 14 views
4

monogDBが新しく、データを保存する方法を設計しようとしています。私は、配列「foo」が常に長さ3のものであり、項目の順序が意味のある場合 mongoDBで固定長配列を注文しました

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

のように見える文書を持っていると言います。私は、 "foo2" ==何かがあるすべてのドキュメントを検索するクエリを作成できるようにしたいと思います。基本的には、私は "foo"を古い配列のように扱い、検索でそれを索引付けできるようにしたいので、 "foo" [1] ==何かのようなものです。

monogDBはこれをサポートしていますか?

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

のように自分のデータを保存する方が正しいでしょうか?ありがとう。

+0

* "foo2" ==何か*を意味しますか?あるいは 'foo [2] == something'を意味します。 – styvane

+0

私は、 "foo2"が配列 "foo"の2番目の位置であることを意味するので、 "foo2"はfoo [1]と同じになります。 – jms

答えて

2

お問い合わせいただいたスキーマは問題ありません。 $position演算子を使用:配列の特定のインデックスに挿入する

hereを読んでください。

key.indexの構文を使用してください。次のように:

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

それは良い@ user3100115? – world

+0

ありがとう、私の質問に答えます。 – jms

関連する問題