【发布时间】:2021-07-04 16:26:47
【问题描述】:
我有一个嵌入文档的架构,如下所示。
const ParentSchema = new Schema({
field: String,
items: [
{
field: String,
field2: Number,
field3: Number
}
]
});
我想插入一个子文档(到项目字段中)并获取最后插入的子文档。 (因为我需要那个子文件的 objectId)。
我可以如下实现。
Parent.updateOne(
{ _id: parentId },
{
$push: {
items: {
field: String,
field2: Number,
field3: Number
}
}
}
)
但是这将返回一个不是最后插入的子文档的结果对象。为此,我可以使用另一个查询来获取最后一个嵌入文档。我想要一个最佳解决方案。
【问题讨论】:
-
您可以在选项中使用
{ new: true }属性,但这将返回整个文档,而不仅仅是插入的子文档。