如何使用正则表达式查询 MongoDB?

How to query MongoDB with regex?

humans.json

{
    "_id": "22YAE7bEXdST9MyrZ",
    "createdAt": {
        "$date": "2016-11-22T15:09:25.968Z"
    },
    "abilities": {
        "power": {
            "mana":78,
            "chakra":0
            "energy":60
        }
    },
    "emails": [
        {
            "address": "Rob6@rob.com",
            "working": false
        }
    ],
    "roles": [
        "killing":true
    ]
}

所以我只想得到第一个字符大写的emails.address

可以使用正则表达式 javascript:

db.humans.find({'emails.address': /^[A-Z]/})

如果您的数组中有很多电子邮件,但只想返回匹配的电子邮件(以大写字母开头),您可以使用额外的投影:

db.humans.find({'emails.address': /^[A-Z]/}, {emails: {$elemMatch: {'address': /^[A-Z]/}}})