0
私は、各ドキュメントが以下のプロパティを持つドキュメントの集まりを持っています:userId
、permissions
。条件付き検索クエリ
findOne
クエリを使用してuserId = 41
とpermissions = admin
またはpermissions = op-admin
のドキュメントを返すにはどうすればよいですか?
User.findOne(
{
'userId': 42
},
{
$and: [
{
$or: {'permissions': 'admin'}
},
{
$or: {'permissions': 'op-admin'}
}
]
}, function(err, doc) {
if(err) {
console.log(doc);
console.log(err);
}
});
は私が正しくやっていないよ何かあります...私は、次のクエリを試してみたが、それはどんな結果を返していないのですか?
'.find({ "はuserId" 42、 "アクセス許可":{ "$の中に":[ '管理者'、 'OP-管理']}})'。 '$ in'は基本的に' $ or'の短縮形ですが、同じキーに適用されます。また、実際には '$と'を簡潔に使う必要はほとんどありません。ありがとうrobert –
@NeilLunnにも 'userId'が必要です; D – robertklep
@NeilLunnあなたのコードを試してみました。また、' userId'をクエリに追加しました。このコメントを回答として投稿する必要があります – Valip