Я хочу продублировать объект в массиве в mongoose.
Например, если есть объект, который projectName
является «а», я хочу создать тот же самый, но имя называется «дублированный».
Я попытался следующий код:
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
.
Как я могу продублировать объект, но оставить имя_проекта и _id
разными?