mongodb - MongoDB 子文档列表
问题描述
我有一个关于子文档的问题。假设我有一个这样的用户数据库:
db.users.insertMany([
{
username: "test",
projectA: [
{
tags: ['1234', '23454']
}
]
},
{
username: "test2",
projectA: [
{
tags: ['1dfdfsdf', '234dfdfdf54']
}
]
},
]);
在用户文档下方,我有项目的子文档。比方说,其中一个项目被称为“ProjectA”。在这个文档下我存储了项目的数据,在我的例子中是一些标签。
我对整个用户模型没有用处,因为它可能是很多数据。我想要的是用户和projectA下数据库中所有标签的列表。
我使用 NodeJS 和猫鼬来获取数据。我该怎么做?
解决方案
您可以$match
用于过滤和$project
获取数据的子集:
db.collection.aggregate([
{ $match: { username: "test" } },
{ $project: {"projectA.tags": 1} }
])
推荐阅读
- cross-compiling - Yocto 交叉编译,bitbake glibc 错误:bison
- c# - json反序列化为类并在c#中访问结果
- python - fit_transform 只有大小为 1 的数组可以转换为 Python 标量
- android - Flutter webview goback()不起作用
- python - Pandas 数据框列值取决于动态行数
- sql - PostgreSQL如何按主键按行分组?
- javascript - JS通过对象内的嵌套数组过滤对象数组
- c# - 运算符 & 不能应用于 C# 中 bool 和 byte 类型的操作数
- c# - 如何使用 NEST .net 客户端二进制文件索引
- java - BufferedWriter 没有将 Map 的内容写入文本文件;我的世界服务器