【发布时间】:2016-08-05 23:36:51
【问题描述】:
我正在使用 MongoDB 批量操作来插入文档。
我想做的是插入,只有在没有找到文档的情况下 - 如果找到它我不想更新(即 upsert)。
任何想法如何做到这一点?
但是,即使在这种情况下:
var obj = {
item: 'test'
}
bulk.find({ item: {$ne : obj.item}}).upsert().updateOne(obj);
bulk.execute();
如果没有找到,这似乎并没有真正插入任何东西。
编辑:
我想更新一下以澄清更多信息。
我正在尝试执行两种操作,使用批量 api,一种是更新,一种是插入。
文档如下所示:
{
item: 'test',
categories: [{
name: 'one',
attr: 'two'
}]
}
我想做的是如果找不到项目值,然后插入 obj.但是,如果找到了,那么如果没有找到categories.name,则将$push 类别对象添加到categories 数组中。如果找到文档并且类别存在,则什么也不做。
【问题讨论】:
标签: mongodb