通过不区分大小写的子文档字段值查找

时间:2016-12-13 16:29:29

标签: mongodb mongodb-query

我知道这是一个新问题,但我很难弄清楚如何编写查询来查找某些信息。我有几个文件(或订单)很像下面的文件,我试图看看是否有任何运动员在我的查询中放置了我的名字。

如何编写查询以查找athleteLastName = Doe的所有记录(不区分大小写)?

{
    "_id" : ObjectId("57c9c885950f57b535892433"),
    "userId" : "57c9c74a0b61b62f7e071e42",
    "orderId" : "1000DX",
    "updateAt" : ISODate("2016-09-02T18:44:21.656Z"),
    "createAt" : ISODate("2016-09-02T18:44:21.656Z"),
    "paymentsPlan" :
    [ 
        {
            "_id" : ObjectId("57c9c885950f57b535892432"),
            "customInfo" :
            {
                "formData" :
                {
                    "athleteLastName" : "Doe",
                    "athleteFirstName" : "John",
                    "selectAttribute" : ""
                }
            }
        }
    ]
}

1 个答案:

答案 0 :(得分:1)

您需要使用点表示法来访问embedded documentsregex,因为您需要不区分大小写。

db.collection.find({'paymentsPlan.customInfo.formData.athleteLastName': /Doe/i}