【发布时间】:2019-04-14 01:01:48
【问题描述】:
我从 API 中获取对象列表:
let sold = [
{ objId: 3240747,
soldDate: '2018-09-27',
soldPrice: 4610000,
apartmentNumber: '1202',
soldPriceSource: 'bid',
},
{ objId: 3234263,
soldDate: '2018-09-24',
soldPrice: 2580000,
soldPriceSource: 'bid',
}
...
]
我将这些存储在一个集合中:
soldCollection.insertMany(sold)
之前已经检索过一些对象,我只想存储一次尚未在数据库中的对象。
dbo.collection("sold").createIndex({ "objId": 1 }, { unique: true })
这样做的有效方法是什么?我应该在存储之前询问每个对象还是有处理方法?
【问题讨论】:
-
您可以直接插入到数据库中,因为您要添加
unique键。如果已经存在,MongoDB 将不会插入。如果你想在已经存在的情况下做一些额外的事情,请检查错误,否则忽略错误。 -
如果我没记错的话,
insertMany中有一个关于如何处理错误的选项,如停止或忽略
标签: javascript node.js mongodb ecmascript-6