Sus*_*t K 2 mongoose mongodb node.js
询问:
db.getCollection('parents').insertMany(
[{
'name': 'Mark',
'children': 'No Childs'
},{
'name': 'Carl',
'children': '2'
}], {
'ordered': true,
}
)
Run Code Online (Sandbox Code Playgroud)
我使用 mongoose 作为 ORM
有人可以建议我们是否有像 unique: true 这样的选项吗?我希望检查内容而不是 _id,因为它永远不会重复
注意:我尝试使用 upsert: true 进行 findOneAndUpdate,但这里我必须同时插入多个文档
根据文档,如果您在字段上有唯一索引(在您的情况下name),并且您尝试使用insertMany插入多个文档,那么在发生错误时您将收到异常:
为属于唯一索引的任何键(例如 _id)插入重复值会引发异常。
但是,如果您设置'ordered': falseinsertMany 的执行将不会停止,并且您将拥有与插入的索引不unique冲突的文档:
如果命令为 false,则插入操作将继续处理任何剩余文档。
因此,在字段上设置一个唯一索引name,当您insertMany 只执行那些违反该索引的记录时,将跳过这些记录。
| 归档时间: |
|
| 查看次数: |
5650 次 |
| 最近记录: |