2016-08-23 15 views
0

グループの一部であるユーザーを探します。ここでMongo:検索サブアレイ

meteor:PRIMARY> db.users.find({_id:"rYHRMPpdXRa8fPXrj"}) 

は、結果が単一のユーザーである:

{ "_id" : "rYHRMPpdXRa8fPXrj", "profile" : { "firstName" : "C", "groups" : [ "GJcqFCnSzfvJbuTMS", "gxD85kTiXmbtwaKfo" ]} 

私は探してみてください...

db.users.find({"groups":"rYHRMPpdXRa8fPXrj"}) 
db.users.find({"profile.groups":"rYHRMPpdXRa8fPXrj"}) 
db.users.find({profile:{"groups":"rYHRMPpdXRa8fPXrj"}}) 
db.users.find({"profile":{"groups":"rYHRMPpdXRa8fPXrj"}}) 
db.users.find({"profile":{"groups":["rYHRMPpdXRa8fPXrj"]}}) 
db.users.find({profile:{"groups":"rYHRMPpdXRa8fPXrj"}}) 
db.users.find({profile:{groups:"rYHRMPpdXRa8fPXrj"}}) 
db.users.find({profile:{groups:["rYHRMPpdXRa8fPXrj"]}}) 
db.users.find({profile:{$elemMatch:{groups:["rYHRMPpdXRa8fPXrj"]}}}) 
db.users.find({profile:{$elemMatch:{groups:"rYHRMPpdXRa8fPXrj"}}}) 
db.users.find({profile:{groups:{$in:["rYHRMPpdXRa8fPXrj"]}}}) 

は、私が何を取得ここで

は1人のユーザです。 ARRRG !!

特定のprofile.groupに属するすべてのユーザーを検索するにはどうすればよいですか。

答えて

2

グループID(?)ではなく、ユーザー_idをクエリに渡しています。

試してみてください。

+0

いやはや!ありがとうございました。また、 "profile.groups"のようなネストされたデータポイントの構文を知っておいて嬉しいです。驚くばかり。出来た。 –

-2

$すべては、アレイ内の項目でフィルタ処理するために使用されなければならない例えば

db.users.find({"profile.groups":"GJcqFCnSzfvJbuTMS"}) 

db.users.find({profile:{groups:{$all:["rYHRMPpdXRa8fPXrj"]}}}) 
関連する問題