MongoDB find 数组某个元素
时间: 2023-09-30 08:02:51 浏览: 91
notdb:在对象数组上运行类似 MongoDB 的查询
可以使用MongoDB的`$elemMatch`运算符来查询数组中的某个元素。例如,假设我们有一个名为`users`的集合,其中包含以下文档:
```
{
"_id": 1,
"name": "Alice",
"hobbies": ["reading", "swimming", "traveling"]
},
{
"_id": 2,
"name": "Bob",
"hobbies": ["hiking", "photography", "gardening"]
}
```
我们想要查找名为Alice的用户,且其爱好中包含"swimming"。可以使用以下查询语句:
```
db.users.find({name: "Alice", hobbies: {$elemMatch: {$eq: "swimming"}}})
```
该查询语句会返回如下文档:
```
{
"_id": 1,
"name": "Alice",
"hobbies": ["reading", "swimming", "traveling"]
}
```
其中,`$eq`表示等于运算符,它用于匹配数组中的元素。`$elemMatch`运算符将查询条件应用于数组中的每个元素,只有当至少有一个元素满足条件时,才会返回该文档。
阅读全文