Javascript 从其他集合填充子字段(非参考)
我试图填充文档的子字段,这些子字段未定义为引用。问题是每当我试图获取文档并填充字段时,mongoose总是返回null 我会尽量让这成为一个一般性的问题。我还没有在网上找到答案Javascript 从其他集合填充子字段(非参考),javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我试图填充文档的子字段,这些子字段未定义为引用。问题是每当我试图获取文档并填充字段时,mongoose总是返回null 我会尽量让这成为一个一般性的问题。我还没有在网上找到答案 schemaA: const schemaA = new Schema({ before: { type: Object, default: {} }, after: { type: Object, default: {} } }); module.exports = S
schemaA
:
const schemaA = new Schema({
before: {
type: Object,
default: {}
},
after: {
type: Object,
default: {}
}
});
module.exports = SchemaA = mongoose.model("schemaA", schemaA);
schemaB
:
const schemaB = new Schema({
someField: {
subFieldA: {
type: String
},
subFieldB: {
type: String
}
}
});
module.exports = SchemaB = mongoose.model("schemaB", schemaB);
schemaA
中存在的示例文档是:
_id: ObjectId('5e4ab79d9d3ce8633aedf524')
before: {
someField: {
subFieldA: ObjectId('5e4ab74f9d3ce8633aedf2eb'),
subFieldB: ObjectId('5e4ab74f9d3ce8633aedf2ep')
},
}
after: {
someField: {
subFieldA: ObjectId('5e4ab74f9d4ce8633aedf2eb'),
subFieldB: ObjectId('5e4ab74f9d3ce8639aedf2ep')
},
}
date: 2020-02-17T15:56:13.340+00:00
我的问题是:
const schemaAs = await SchemaA.find()
.populate(
"before.someField.subFieldA, before.someField.subFieldB, after.someField.subFieldA, after.someField.subFieldB"
)
但此查询返回null
。我做错了什么?你在找我。
这使您可以将引用的集合设置为每个文档的属性,而不是将其硬编码为一个特定集合
据我所知,没有任何引用就无法填充属性。您正在寻找的。
这使您可以将引用的集合设置为每个文档的属性,而不是将其硬编码为一个特定集合
据我所知,在没有任何引用的情况下是不可能填充属性的。出于好奇,您有什么理由不添加引用吗?是的,它是一个动作记录器。该操作可以向我提供对任何集合所做的更改或编辑。因此,之前的
和之后的不能绑定到任何一个集合。出于好奇,你有什么理由不添加引用吗?是的,这是一个动作记录器。该操作可以向我提供对任何集合所做的更改或编辑。因此
之前的和之后的不能绑定到任何一个集合。