私は配列内でmongodbをクエリしています。私は彼らが私のために単一の配列を照会するために働く例を得ました。しかし、私は2つの異なる配列を持っていて、それらを1つのクエリに組み合わせたいと思ったら、これはどのように機能しますか?たとえば、item1とitem2は2つの異なる配列でした。2つの異なる配列のmongodbクエリ
# example given in mongodb document
db.inventory.find({ qty: { $in: [ 5, 15 ] } })
# example of query of what I am trying achieve query two arrays
db.inventory.find({ item1: { $in: [ item1_value ] } { item2: { $in: [ item2_value ] } })
のMongoDB参照ドキュメント:https://docs.mongodb.com/manual/reference/operator/query/in/
私も、私は、コマンドがどのように見えるかのアイデアを得るためにMongoDBを使用していますが、このコマンドは次のようになりますよう、最終的に、このコマンドはpymongoのために働く必要があることを言及する必要がありますpymongo経由で実行されます。
# correct query example as given by Moshe
db.inventory.find({
$or: [
{ item1: { $in: [ item1_value ] }},
{ item2: { $in: [ item2_value ] }}
]
});
あなたはあなたの 'itemX_value'が実際にのみ、単一の値ではなく、あなたが自分自身をするアレイ場合に注意すべきです配列であるドキュメントプロパティを検索するだけで '$ in'は必要ありません。だから、 '$ in'への引数が「リスト」でなければならないとしたら、あなただけです。 '.find({'$ or':[{'item1:1}、{' item2 ':2}]})'となります。 "引数リスト"の場合は '$ in'です.find({'$ or':{{'item1':{'$ in':[1,2]}、{'item2':{'$ in' :[1,2]}}}}) '。 MongoDBは '' item1''が実際に配列そのものであるかどうか気にしません。なぜなら、単純に "特異な"供給された値のメンバーを検索するからです。そして、はい、Pythonの構文は同じです –
その説明をありがとう。私はそれを念頭に置いておきます。 – Matt