2017-01-16 28 views
0

node.jsプロジェクトでmongodbとmongooseを使用すると、埋め込み項目の_idフィールドにensureIndexを設定する必要がありますか?mongodbは埋め込みドキュメントの_idフィールドにインデックスを自動的に作成しますか?

つまり、mongodbは自動的にコレクションの_idフィールドにインデックスを作成しますが、埋め込みコレクションの_idフィールドにも同じことをしますか?

{ 
    _id: "joe", 
    name: "Joe Bookreader", 
    addresses: [ 
       { 
        _id: "someid1", 
        street: "123 Fake Street", 
        city: "Faketon", 
        state: "MA", 
        zip: "12345" 
       }, 
       { 
        _id: "someid2", 
        street: "1 Some Other Street", 
        city: "Boston", 
        state: "MA", 
        zip: "12345" 
       } 
       ] 
} 

答えて

1

私の本能がないので、私はちょうどそれを試してみました:何それは自動的にサブ文書のインデックスを作成しませんように

> db.foo.find() 

> db.foo.getIndexes() 
[ 
    { 
     "v" : 1, 
     "key" : { 
      "_id" : 1 
     }, 
     "name" : "_id_", 
     "ns" : "foo.foo" 
    } 
] 

> db.foo.insert({ 
... _id: "joe", 
... name: "Joe Bookreader", 
... addresses: [ 
...     { 
...     _id: "someid1", 
...     street: "123 Fake Street", 
...     city: "Faketon", 
...     state: "MA", 
...     zip: "12345" 
...     }, 
...     { 
...     _id: "someid2", 
...     street: "1 Some Other Street", 
...     city: "Boston", 
...     state: "MA", 
...     zip: "12345" 
...     } 
...    ] 
... }) 
WriteResult({ "nInserted" : 1 }) 

> db.foo.getIndexes() 
[ 
    { 
     "v" : 1, 
     "key" : { 
      "_id" : 1 
     }, 
     "name" : "_id_", 
     "ns" : "foo.foo" 
    } 
] 
> 

が見えます。

関連する問題