- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试 insertMany()
项目进入我的 Mongo 数据库,但我想跳过重复的 ID。
我正在使用 Node.js
和 mongodb
.
我有一些数据:
const myExampleData = [
{_id:'someId1', name:'I am example'},
{_id:'someId2', name:'I am second example'}
];
dbo.collection(collectionName).insertMany(myExampleData).catch(err=>{
console.error(err);
});
someId1
已经存在。我不想覆盖它。我只想跳过它。在当前情况下它不插入
someId2
.一旦抛出重复的异常,它就会停止。
update()
与
upsert
而不是
insert()
这对一件元素来说可能没问题。但是很多项目呢?据我所知
updateMany()
将使用相同的值更新所有过滤的行,但我想插入不同的值。
最佳答案
检查您的声明:
Lets suppose that someId1 already exists. I don't want to override it. I just want to skip it.
.update()
, 您仍然可以使用
.insertMany() 执行此操作通过传递标志
ordered
在查询选项中:
db.collection.insertMany(
[ <document 1> , <document 2>, ... ],
{
ordered: <boolean>
}
)
dbo.collection(collectionName).insertMany(myExampleData, {ordered : false }).catch(err=>{
console.error(err);
})
_id
它将具有默认的唯一索引并且任何传入的重复项实际上都会引发错误,使用
ordered : false
我们正在使这个插入操作无序,因为我们跳过了所有传入的重复项并继续进行,而实际上不会抛出任何错误。
关于node.js - MongoDB insertMany 并跳过重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61480444/
在我的项目中,我正在制作一个系统,让用户可以创建和配置他们自己的足球锦标赛。比赛结束后,我必须将 poules 和团队放入 mongo 的比赛文件中。我不断收到以下错误: TypeError: toe
我们正在使用 MongoDB insertMany(),我想获取成功插入的文档和失败的文档。 有些文档无法插入,因为我们首先放置了唯一的文档(按电话号码),之后如果代码遇到相同的电话号码,则会将字符串
我正在尝试 insertMany() 项目进入我的 Mongo 数据库,但我想跳过重复的 ID。 我正在使用 Node.js和 mongodb . 我有一些数据: const myExampleDat
我有以下存储库类,可将数据批量插入到 CosmosDb 数据库中: public bool InsertZonierData(List zonierList) { if (zonierList
使用Mongoose进行InsertMany后,我们如何知道有多少文档已成功进入数据库? Employees.insertMany(employees) .then(functio
我对 Mongoose 和 MongoDB 本身还很陌生,我正在尝试保存一堆通过 insertMany 方法插入的文档,但它并没有保存文档。 这是我的代码: 型号: var mongoose = re
我有一个 Mongo 集合,我正在尝试将多个文档插入其中,如下所示: db.collection('properties').insertMany(docs) .catch(err => cons
Mongoose 4.4 现在有一个 insertMany 函数,它允许您验证一组文档,如果有效,则通过一个操作插入它们,而不是每个文档一个操作: var arr = [{ name: 'Star W
我很困惑为什么 Mongodb 需要两种不同的方法 insertMany 和 insertOne 来插入数据。为什么只使用 insertMany?如果要插入一个文档,比如{ a: 1 },这样写ins
我正在尝试编写以下代码并使其同步工作,但唯一的问题是它与 console.log 一起正常工作,它会在 1 秒内延迟打印数组中的每个项目,但不适用于以下结构: for (let i = 0; i {
我尝试使用 collection.insertMany() 在我的集合中插入许多记录,并对其进行了测试,但不幸的是,此测试不是确定性的(有时await有时不起作用)。为什么我这么认为,因为 colle
我正在尝试使用 inertMany 插入数据。但是我无法插入数据,为什么?我正在使用 mongoose session 如果发生任何错误,我会回滚变化 https://codesandbox.io/s
我正在尝试进行批量更新插入,但在弄清楚如何执行此操作时遇到问题。这不起作用: BasicDBObject filter = new BasicDBObject(); BasicDBOb
db.col.insertMany( [ { "_id" : "tt0084726", "title" : "Star Trek II: The
MongoDB 上的 insert()、insertOne() 和 insertMany() 方法有什么区别。我应该在什么情况下使用它们? 我阅读了文档,但不清楚何时使用每个文档。 最佳答案 What
我将 mongoose 与 nodeJs 一起使用,并且我正在尝试实现一个在使用 insertMany 时调用的中间件。在 mongoose 文档中根本没有示例,但他们确认 insertMany 模型
我有很多订单想要插入到 MongoDB 中,这些订单通过 orderID 进行唯一索引。 如果数据库中存在我的订单之一,我想插入所有订单并更新订单时间。 我尝试使用 updateMany 并将 ups
我必须在 action 集合中插入一个批处理,如下所示: [ { "userId": "57ee65fef5a0c032877725db", "postId": "57f63ce1
import { MongoClient } from 'mongodb'; import assert from 'assert'; import config from './config'; c
以下函数由 async/await 函数调用,因此我需要从 Mongoose 返回一个真正的 Promise,因此根据 documentation 使用“.exec()”和 this SO threa
我是一名优秀的程序员,十分优秀!