MongoDBで次のクエリを使用しようとしていますが、実行されていません。
db.test.aggergate(
$match: {$and: [type: {$in: ["TOYS"]}, type: {$nin: ["BARBIE"]}, time:
{$lt:ISODate("2013-12-09T00:00:00Z")}]}})
無効な文字「:」が表示されます。
$ andを$ matchで使用できますか?このフォーラムで$ orまたは$ matchの例を見てきたので、これは可能だと思いました。
あなたの助けとガイダンスを前もってありがとう。
$ and with $ matchは問題なく動作します。
クエリに構文エラーがあります。これを試して。
db.test.aggregate([
{
$match: {
$and: [
{type: {$in: ["TOYS"]}},
{type: {$nin: ["BARBIE"]}},
{time: {$lt:ISODate("2013-12-09T00:00:00Z")}}
]
}
}
])
そして、あなたがしようとしていることのために、$and
は必要ありません。
誰かが私の答えを拒否したい場合、それは大丈夫です、これは研究のない典型的な質問です
db.test.find( {$and: [ {"type": {$in: ["TOYS"]}},
{"type": {$nin: ["BARBIE"]}},
{"time": {$lt:ISODate("2013-12-09T00:00:00Z")}}
]
})
ANDはFINDと連携し、一致する配列を受け取ります(ただし、一致命令ではありません)
{
$match: {
$or:[
{'sender':sender, 'recipient':recipient},
{'recipient':sender,'sender':recipient}
]
}
}
またはを使用して
以下は、私が多くの$ andと一緒にやっている方法です
User.aggregate([
{
$lookup:{
from:'influencers',
localField:'_id',
foreignField:'user',
as:'influencer'
}
},
{ $match:{ '$and':
[ { '$and': [ { 'influencer.aboutMe.birthday': { '$lte': 2017-09-11T09:10:07.283Z } } ] },
{ '$and': [ { 'influencer.aboutMe.minPrice': { '$gte': 0 } } ] },
{ '$and':
[ { '$or':
[ { '$and': [ { 'influencer.followed_by': { '$gte': 0 } } ] },
{ '$and': [ { 'influencer.youTubeSubscribercount': { '$gte':
0 } } ] } ] } ] },
{ 'influencer.isAdminverified': true },
{ 'influencer.status': 'Verified' } ] } }
]);