1
クエリによって返されるフィールドを条件付きで指定することは可能ですか?ここに私のユースケースで次のように私は、ネストされた利用者の会話を持つオブジェクトを持っている:mongodb 'find()'クエリで条件付き "フィールド選択"を定義する方法は?
{
"_id" : "someId",
user_id: 'user1',
conversations:
[
{
user_id: 'user2',
comments:
[
{
user_id: 'user2',
text: 'Hi user1'
},
{
user_id: 'user1',
text: 'Hi user2'
},
]
},
{
user_id: 'user3',
comments:
[
{
user_id: 'user3',
text: 'Hi user1'
}
]
},
]
}
私は、すべてのユーザーが検索して、彼らが所有していないすべてのオブジェクトではなく、会話を表示できるようにしたいと思います。何かを次のように
db.users.find({$or:[{user_id: X}, {'conversations.user_id':x}]})
しかし、この意志:あなたの助けを事前に
findObj = function(criteria, user, callback) {
Object.find({criteria}, {conversation:
{
if (user_id == user.id || conversations[].user_id = user.id) {1} else {0}
} }
);
}
おかげで、 -Eric
お礼ありがとうございました。私のオブジェクトから会話を動かしても動かすことができます。あなたの返信をありがとう、-Eric – ebdr