mongodb如何查询数组里面的值
在MongoDB中,可使用$elemMatch
操作符查询数组中的值。
例如,假定有一个名为users
的集合,其中的文档结构以下:
{
"_id": ObjectId("5f6e2e6f1df397081fc0e8e0"),
"name": "John",
"age": 30,
"hobbies": ["reading", "cooking", "travelling"]
}
要查询hobbies
数组中是否是包括特定的值,可使用以下查询:
db.users.find({ hobbies: { $elemMatch: { $eq: "reading" } } })
上述查询将返回包括hobbies
数组中包括值"reading"的文档。
如果要查询hobbies
数组中包括多个值的文档,可使用以下查询:
db.users.find({ hobbies: { $all: ["reading", "cooking"] } })
上述查询将返回hobbies
数组中同时包括"reading"和"cooking"的文档。
另外,还可以结合其他查询条件来进一步挑选数组中的值。
更多关于查询数组的信息,请参考MongoDB官方文档:https://docs.mongodb.com/manual/tutorial/query-arrays/
TOP