mongodb - 查询 mongoDB 中的嵌入文档
问题描述
我正在尝试查询具有用户子文档的组文档。
但我只想要属于用户的子文档,
但我也在获取其他用户的数据。
查看查询结果,UserStatus 字段,其中只有一个属于用户。
查询结果——
[
{
"_id": "5b1bcc12d5cdbf2cf78f2133",
"name": "First group ever",
"users": [
{
userId: 1,
"userStatus": "I"
},
{
userId: 2,
"userStatus": "I"
}
]
}
]
Group.js -
const GroupSchema = mongoose.Schema({
name: {
type: String,
required: true
},
users: [{
userId: {
type: mongoose.SchemaTypes.ObjectId,
ref: 'users',
required: true
},
userStatus: {
type: String,
required: true
}
}]
})
询问 -
Group.find({
"users": {
$elemMatch: {
userId: req.params.id,
$or: [{
userStatus: "I"
}, {
userStatus: "A"
}]
}
}
}, "_id name users.userStatus",
function (err, groups) {
if (err)
res.send(err)
res.json(groups);
});
解决方案
推荐阅读
- spring - 运行“apereo/cas”docker image 打印“Failed to start connector”错误
- javascript - Angular 2智能表动态数据不加载
- javascript - 如何查找坐标是否在图块范围内?
- git - 本地删除并忽略文件夹而不提交
- nginx - nginx 重写不起作用 - 返回 404
- python - 如何在不使用 scipy.optimize 拟合感兴趣的特征的情况下拟合函数?
- proxy - 通过 quickfix 连接到代理时出现异常
- python - 输入十进制命令?
- java - 与 google 即时游戏和 com.google.gms.google-services 插件冲突
- sql - 'nvarchar' 附近的语法不正确。必须声明标量变量“@Road”