【发布时间】:2018-01-13 10:02:36
【问题描述】:
你好,这是我的问题,
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"}]
这是我的计划:
我想通过 document_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\' 对存储无效。
但是在每次尝试时,我都会遇到不同的错误,有没有办法使用猫鼬更新操作来更新项目? 谢谢
【问题讨论】:
-
您想在
document_id的基础上将poolItems中的项目插入pools集合吗? -
是的,@TalhaAwan,这是正确的
-
@TalhaAwan,有什么想法吗?
标签: node.js mongodb mongoose upsert