此 Meteor 服务器代码尝试将新创建的属性 _id
复制到子文档中,但未能成功。
如何做到这一点?
编辑:
该代码使用 matb33:collection-hooks
。
MyCollection.after.insert(function(userId, doc) {
if (doc.element === 'myString') {
doc.values[0]._id = doc._id;
}
});
最佳答案
改变 matb33:collection-hooks
的 after
Hook 中的 doc
不会导致运行其他查询。如果您愿意,您将需要显式更新
文档。
但是,在这种特殊情况下,如果您确实需要文档中重复的 _id
,您可以生成一个 _id
并在插入文档时指定它。
您可能可以使用 MyCollection._makeNewID()
方法,因为这个 API 已经好几年没有改变了,并且它是 Mongo
包内部使用的。
const _id = MyCollection._makeNewID();
const doc = {
_id,
values: [
{
_id,
...
}, {
...
}
]
};
MyCollection.insert(doc);
关于javascript - 如何在嵌套字段中保存Mongo文档自己的_id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38067896/