簡體   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