javascript - 如何在猫鼬的数组中返回匹配的对象
问题描述
{
"_id": 36546b46bbh343..,
"name": "Mike",
"Friends: [
{"name":"lora","age":23},
{"name":"test","age":26}
]
}
我知道如果我们这样做
dbname.find({
Friends:{
$elemMatch:{
"name": "test",
"age": 26
}
}
})
它将返回包含所有对象的整个文档。但是我一直在寻找的是有什么方法可以让我只得到与之匹配的对象。
解决方案
尝试这个
db.collection.find({
Friends: {
$elemMatch: {
"name": "test",
"age": 26
}
}
},
{
"Friends.$": 1
})
推荐阅读
- node.js - MongoDB 集合字段的显示顺序与它们在模型模式中的顺序不同
- node.js - 在为全局 const 变量赋值时使用 Async / await
- .net - 启动配置文件初始化程序:无法解析 launchSettings.json 文件
- python - 在目录中搜索最佳第二匹配产品
- boost - 在 Red Hat OS 上安装 boost 时出现“没有这样的文件或目录”错误
- flutter - Dart Flutter中将文档添加到Firestore后如何直接获取文档ID
- git - 并行多阶段项目的 Git 工作流
- c - 为什么没有打印输出?
- scala - Scala中的布尔到字节
- css - CSS Grid 包含 2 个固定的侧边栏。主要内容位置不正确