在猫鼬中填充嵌入的文档
populate embedded document in Mongoose
给定:
var productSchema = new Schema({
name: String,
details : [{ name: String, description: String }]
})
var listSchema = new Schema({
name: String,
products: [{
product_id: { type: Schema.Types.ObjectId, ref: 'Product' },
product_vid: { type: Schema.Types.ObjectId, ref: 'Product.details' }
}]
})
如何查询仅具有相应product_id的列表,其中包含一个与product_vid匹配的详细信息?
List.findById(list_id)
.populate({
path: 'products.product_id',
populate: {
path: 'products.product_vid'
}
})
.exec(function(err, doc){
......
}
不需要
product_vid: {
type: Schema.Types.ObjectId, ref: 'Product.details'}
在列表架构中。
var productSchema = new Schema({
name: String,
details : [{ name: String, description: String }]
})
var listSchema = new Schema({
name: String,
products: [{ type: Schema.Types.ObjectId, ref: 'Product' }])
List.findById(list_id)
.populate({
path: 'products',
match: { details: "your matching value"})
.exec(function(err, doc){
......
}
这是
错误的
product_vid: { type: Schema.Types.ObjectId, ref: 'Product.details' }
细节是模型的字段,而不是模型本身。
它应该是这样的..
var listSchema = new Schema({
name: String,
products: [{ type: Schema.Types.ObjectId, ref: 'Product' }],
})
然后
populate('products')
或者可能
populate('products products.details')
试着让我知道。
相关文章:
- 正在对已提取的文档进行填充.有可能吗?如果有,怎么做
- 有没有一种方法可以找到一个匹配两个不同填充的文档,并在findOne()中获取他的文档
- 猫鼬在级联中填充嵌入式文档
- 如何填充子“引用”文档猫鼬数组
- 如何填充浏览器's用矩形显示的整个窗口/文档
- 我可以在mongoDB中找到基于填充条件的文档吗
- Mongoose如何填充引用的文档
- 是否有任何关于如何填充修订说明以及在什么条件下填充的文档
- 使用 JavaScript 模式填充文档
- 为什么不是文档.导致剪贴板填充的execCommand
- 在带有填充嵌套数组的mongoDB文档中查找并构建新的结果对象
- 如何附加点击事件在运行时,当我有一个数组中的所有id得到填充时,文档准备好了
- 填充有限数量的文档
- 猫鼬填充文档
- 如何在$geoNear之后填充子文档
- 我如何从模板节点复制并填充json数据,并用javascript将它们附加到文档中
- 向mongodb添加一个文档,并预先填充字符串的开始和结束
- 自动填充浏览器文档高度以滚动到任何元素
- Chrome中奇怪的文档正文右侧填充问题
- 在猫鼬中填充嵌入的文档