【发布时间】:2019-05-30 23:02:21
【问题描述】:
我想在 mongoose 中复制数组中的一个对象。
例如,如果有一个对象projectName 是“a”,我想创建一个完全相同的对象,但名称称为“a duplicated”。
我尝试了以下代码:
project.find({
"logininfo.username": username,
}, (err, users) => {
...
var user= users[0];
var dproject;
for(var i in user.projects){
if(user.projects[i].projectName === projectName)
{
dproject = user.projects[i];
break;
}
}
dproject.projectName += " duplicated";
dproject._id = new mongoose.Types.ObjectId();
user.projects.push(dproject)
projects.save((err, user) => {
...
但是,这个函数也会改变之前的对象,从而创建一个完全相同的对象(两个名字都变成了“一个重复”),这两个对象有相同的_id。
如何复制对象但保持 projectName 和 _id 不同?
【问题讨论】:
-
您可以生成您选择的_id
标签: node.js mongodb express mongoose mongodb-query