0

こんにちは、mongodb のコレクションにフィルターを設定したいと思います。

フィルターを設定したい (コード フィールドは "0" または "2" で始まる) および (FirmId は "5186224fdff7421bd4552f7f" に等しい)

しかし、クエリ結果は null です。なにが問題ですか?

私のmongoクエリは次のとおりです。

db.Customers.find({ "$and" : [{ "FirmId" : ObjectId("5186224fdff7421bd4552f7f") }, { "$or" : [{ "Code" : /^0/ }, { "Code" : /^2/ }] }] })

_

 {
    $and: [
        {
            "FirmId": ObjectId("5186224fdff7421bd4552f7f")
        },
        {
           "$or": [
                {
                    "Code": /^0/
                },
                {
                    "Code": /^2/
                }
            ]
        }
    ]
}

または使用

{
    "FirmId": ObjectId("5186224fdff7421bd4552f7f"),
    "$or": [
        {
            "Code": /^0/
        },
        {
            "Code": /^2/
        }
    ]
}
4

2 に答える 2

1

ここでもどちら$andも使用しないで$orください。

{ FirmId: ObjectId("xxx"), Code:/^[02]/ }

結果が得られない場合は、この条件に一致するレコードがない可能性があります。

于 2013-09-04T07:45:20.213 に答える