0
$とを使用してフィールドに複数の値を一致させ、$ inに$ matchを使用することには違いがありますか?
db.collectionOne.aggregate([
{$match:{name:{'$in':['Jack','Jill']},
city:{'$in':['LA','NY']}
}
}])
または
db.collectionOne.aggregate([
{$match:{
$and:[{name:{'$in':['Jack','Jill']},
city:{'$in':['LA','NY']}
}
]}
}])
または$なければならないとだけ良いパフォーマンスを得るために、数値のために使用することが?
を説明します。しかし、私はそれが良い例ではないことをあなたのポイントを得る。私はちょうど 'db.collectionOne.aggregateを使用しています( {$ name:{'$ in':['Jack'、 'Jill'、 'Bill'、 'Kill']}、 name:{' $と$ 'を使用する代わりに、[' Matt '、' Bill ']} } }これらの2つのパフォーマンスの違いは何ですか? – cartman619
$と私の答えで述べたように、単一のフィールドで複数の条件を実装するために使用することが意図されて、 しかし、あなたは使用方法が正しくない db.collectionOne.aggregate([ {$マッチので、私はタイプミスを言いました: {$と:{{名前:{'$':['ジャック'、 'ジル'、 'ビル'、 'キル'}}、 名前:{'$ nin':['Matt'、 'Bill ']} } } }]) –
私は尋ねる前に同じページを見ましたが、ドキュメントは$とブール型のAND演算に使用する方が意味があります。しかし、実行するブール型の操作がない場合でも、多くの人が$一致の代わりに$一致を使用していることがわかりました。 – cartman619