使用Mongoose在集合中更新或创建多个文档

时间:2018-01-24 12:39:48

标签: javascript node.js mongodb mongoose

假设该文档包含以下内容。

[{
    field1 (index): 'abc',
    field2: 1 },{
    field1 (index): 'def',
    field2: 2 
}]

我想添加或更新

array_1 = ['abc','def','ghi','jkl']

通过检查field1,以及数组增量field2的前两个元素,以及接下来的两个元素,创建一个文档

[{
    field1 (index): 'ghi',
    field2: 0 },{
    field1 (index): 'jkl',
    field2: 0 
}]

我在this link

的帮助下采取的方法
Collection.findAndModify(
    { "field1": { $in: array_1 } },
    [['field1', 'ascending']],
    { "$inc": { "field2": 1 } },
    { new: true, upsert: true }, 
    function (err, tags) {
        callback(err, question);
    }
);

但这会产生2个问题

  1. 只创建一个文档
  2. 创建的文档中缺少
  3. field1
  4. 我尝试了类似的更新功能,但行为方式也一样。

0 个答案:

没有答案