2017-08-30 7 views
0

基本的に私はこれをどのように把握するのか理解できません。ユーザーの配列に基づいてユーザーのアレイを照会

私はドキュメントをmongodbコレクションに入れています。そのドキュメントには、ユーザー名の配列であるfriendsというフィールドがあります。

私は配列の友人の各ユーザー名を照会し、それらのユーザー文書の配列を持っています。私はこれを描くと意味があるかもしれないと説明するのはひどいです。

のMongoDBドキュメント:この友人配列と今

{ 
    "_id": { 
     "$oid": "59a20e65f94cb5e924af774e" 
    }, 
    "name": "Nick", 
    "friends": ["Jones","Mark","Mike"] 
} 

、私は「名前」・ジョーンズ、マーク、およびマイクを持つオブジェクトに対して同じコレクションを検索したいです。私がそのオブジェクトを見つけたら、それを配列に入れたいと思います。

基本的に私は、3つのオブジェクトの配列^

[{ 
    "_id": { 
     "$oid": "59a20e65f94cb5e924af774e" 
    }, 
    "name": "Jones", 
    "friends": ["Nick"] 
}, 
{ 
    "_id": { 
     "$oid": "59a20e65f94cb5e924af774e" 
    }, 
    "name": "Mark", 
    "friends": ["Nick"] 
}, 
{ 
    "_id": { 
     "$oid": "59a20e65f94cb5e924af774e" 
    }, 
    "name": "Mike", 
    "friends": ["Nick"] 
}] 

。この例でのジョーンズ、マーク、およびマイクは唯一の友人を持っているとしましょう、とその友人がニックである(それはこれを返すしたいですあなたが任意のより詳細な説明が必要な場合は、ニックのすべての友達。

は私が原料のこのタイプではひどいよ、私に知らせてくださいされている。レコードの

、私は、ノード、および基本的にMongoDBを使用しています(マングースではない)

答えて

1

私はあなたが$inオペレーターをお探しすると考えています。

// doc.friends = ["Jones","Mark","Mike"] 

db.collection.find({ name: { $in: doc.friends }}) 
関連する問題