繁体   English   中英

批量插入并忽略文档是否已存在

[英]Bulk insert and ignore if a document already exist

我有一个脚本,可以每天在特定时间抓取一个网站。 我将接收到的数据转换成这样的对象数组:

Items = [ 
    {
      title: "some title", 
      url: "someurl.com/something" , 
      description: "some description"
     },
     {...} ,
     {...}
]

然后,我使用一个foreach循环将数组的每个对象插入MongoDB中:

Items.forEach( item => Collection.create(item));

现在,每天运行脚本时,它都会获取已插入数据库的所有先前数据和新数据。 我只想将新对象插入数据库。 我尝试了不同的方法,但是没有用。

请有人告诉我如何使它工作? 同样,我使用forEach循环将其插入数据库中,我确信有更好的方法可以做到这一点。

在启用upsert使用Update ,而不仅仅是插入数据库。

var your_document = { .... };

Model.update(your_document, your_document, options, callback)
// is sent as
Model.update(query, { $set: ......}, options, callback)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM