node.js - child 的 child 里面的 where 子句
问题描述
我想要的是:
我希望find()
所有文件where()
中的一个子元素都有一个具有特定条件的子元素。
我有的:
router.route('/path/:id').get((req, res) => {
Test.find({})
.populate({path: 'child1', select: 'data child2', populate: {path: 'child2', select: '_id name'}})
.where('_id')
.in('child1')
.in('child2')
.equals(req.params.id)
.exec((err, aval) => {
if (err)
console.log(err);
else{
console.log(aval);
}
});
});
解决方案
您可以match
在populate
函数内部使用
Test.find({})
.populate({
"path": "child1",
"match": { "_id": req.params.id },
"select": "data child2",
"populate": {
"path": "child2",
"match": { "_id": req.params.id },
"select": "_id name"
}
})
.exec((err, aval) => {
if (err)
console.log(err)
else{
console.log(aval);
}
})
推荐阅读
- autodesk-forge - 如何根据设置的字体大小设置标记文本大小放大时标记大小太大?
- javascript - 部署快速应用程序时出现错误 R10(启动超时)
- php - 在 WooCommerce 订单编辑页面中仅显示一个的产品运输类别
- javascript - 是否通过信令服务器强制共享冰包
- python - MNIST 数据集的负数
- facebook-graph-api - localStorage,令牌是否必须字符串?
- verilog - 行为建模在 testbench.test 中不是有效的左值
- c - 如何在 C 中分别读取标志和文件名?(基于 WC 实用程序)
- r - 在R中将数字转换为日期格式?
- firebase - 如何访问 Document Snapshot 元素?