2017-08-24 8 views
0

私が行くことによって、主キーとしてのObjectIdで文書を見つける必要があります。ObjectIdによるMongodbの検索クエリでstringまたはObjectIdを使用しますか?

this._db 
    .collection('users') 
    .find({ _id: 'aaaaa0000000000000000000' }) 
    .toArray(); 

または

this._db 
    .collection('users') 
    .find({ _id: ObjectId('aaaaa0000000000000000000') }) 
    .toArray(); 
+0

これを参照してください https://stackoverflow.com/questions/45617525/mongodb-query-find-all-by-userid/45618622#45618622 – elcabezon

答えて

2

をのみ秒1は動作します:

this._db 
.collection('users') 
.find({ _id: ObjectId('aaaaa0000000000000000000') }) 
.toArray(); 

あなたの質問はタグ付けされていません必要に応じて文字列で照会する機能を提供するMongoose。純粋なMongoはObjectIdを使用するように要求します。

+0

リンク先のプロパティを持つドキュメントがあれば別のドキュメントのIDにObjectIdまたは文字列として保存しますか?インデックス作成などのメリットはありますか? – Baconbeastnz

+1

ObjectIdとして保存します。それはより少ないスペースを占有し、より効率的です。 – cyberwombat

関連する問題