你好,以下是我的问题:
var poolSchema = mongoose.Schema({
"topic_id": {
type: Number,
default: null,
required: true
},
"document_id": {
type: String,
default: null,
required: true
},
"project":{
type:String,
default: false,
required: true
},
"createddate":{
type:Date,
default : Date.now
}
}, { collection: "sorguHavuzu" });
我有一个池文档的数组,每个项都有不同的字段值,如下所示:
var poolItems = [
{document_id :"FBIS3-50136" ,topic_id :"301" , project :"A1"},
{document_id :"LA040190-0178" ,topic_id :"302" , project :"A1"},
{document_id :"FT934-5418" ,topic_id :"303" , project :"A1"},
{document_id :"LA071090-0047" ,topic_id :"304" , project :"A1"}]
这是我的方案:
我想通过文档ID字段来更新数组中的项目。所以这是我的更新操作。
var query = {"document_id" : { $in:["FBIS3-50136","LA040190-0178","FT934-5418","LA071090-0047"]}};
Pools.collection.update(query, { $push : { "$ROOT" : poolItems } }, { upsert: true, multi : true}, callback);
错误:在\'$ROOT\'中以美元符号($)为前缀的字段\'$ROOT\'对于存储无效。
但是,每次尝试时都会出现不同的错误,有没有一种方法可以使用mongoose更新操作来插入或更新项目?谢谢。
document_id
将poolItems
中的项目 upsert 到pools
集合中吗? - Talha Awan