【发布时间】:2019-07-06 15:03:03
【问题描述】:
我正在尝试使用 mongoose 和 nodejs 将一个数组文档的数据复制到另一个数组文档。数组文档的项目具有对另一个集合的引用/objectId。我正在使用$set 来检索此功能,如下所示:
var criteria = {
mId: {
$in: ["id1", "id2", "id3"]
}
};
var options = {
multi: true
}
var dataToSet = {
$set : {
destinationDocument : "$sourceDocument",
}
}
table_name.update(criteria, dataToSet, options, function(err,result){
if(err) {
console.log(err)
}
});
但我收到以下错误:
Cast to [ObjectId] failed for value "["$sourceDocument"]" at path "destinationDocument"
我的数据库架构如下所示
new Schema({
idAutoIncrement: { type: Number,unique: true,index:true,sparse:true},
destinationDocument: [{
type: Schema.Types.ObjectId,
ref: "Users",
}],
sourceDocument: [{
type: Schema.Types.ObjectId,
ref: "Users",
}],
});
谁能帮我弄清楚我需要做什么才能将sourceDocument的所有值复制到destinationDocument。任何帮助将不胜感激。
谢谢
【问题讨论】:
-
你用的是哪个版本的mongodb?
标签: node.js mongodb mongoose set hapijs