[英]How to clone a mongoose document?
这是复制/克隆mongoose文档实例的最简单方法的后续操作? ,这对我不起作用。
以下代码抛出“无法编辑Mongo _id”字段,而不是擦除._id并在集合中创建新文档。
有没有更好的方法将文档的所有值克隆到新文档中,以便进一步使用/测试/等?
我正在使用Mongoose 3.8.12 / Express 4.0,我还在下面的'undefined's1._id字段中创建了一个新的ObjectID。
router.route('/:sessionId/test/:testId')
.post(function(req,res){
Session.findById(req.params.sessionId).exec(
function(err, session) {
var s1 = new Session();
s1 = session;
s1._id = undefined;
console.log('posting new test', s1._id); // your JSON
s1.save(function(err) {
if (err)
res.send(err);
res.json( 'new session ', req.body );
});
}
);
});
您需要为要克隆的文档创建新ID并将isNew设置为true,因此给定“session”是要克隆的文档:
session._doc._id = mongoose.Types.ObjectId();
session.isNew = true;
session.save(...);
答案是:
var s1 = new Session(session);
s1._id = undefined;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.