MongoDB: Как обновить многие, используя массив объектов, и каждый объект со своим собственным _id? - PullRequest
1 голос
/ 30 марта 2020

У меня есть массив объектов, где у каждого объекта есть свой "_id". Я пытаюсь использовать updateMany (), вместо этого вызывая updateOne для каждого объекта, поэтому я не делаю слишком много заявок в mongoDB.

Например, это объект:

[
  {
    _id: 123,
    name: "apple",
    qty: 2
  },
  {
    _id: 555,
    name: "melon",
    qty: 1
  },
  {
    _id: 799,
    name: "avocado",
    qty: 0
  }
]

Я хочу обновитьMany () этим массивом объектов, и каждый объект должен быть Документом внутри коллекции, я пробовал много решений, но ни одно не работало, работал только с insert (), куда я могу отправить весь массив, и он сделает каждый объект документом, проблема использования вставки заключается в том, что этот объект появляется каждый день, и некоторые значения могут меняться, например, name и qty, но _id сохраняет то же самое.

I попробовал следующее

sync function updateMany(client) {
            result = await client.db("sample_db").collection("CollectionA")
                ..updateMany({},
                    {asd},
                    {upsert: true});
        }

, но не сработало, я попробовал другие решения, например, заставить каждый объект использовать $ setOnInsert для _id и $ установить остальное ..

Возможно ли это сделать это без необходимости вставки () или выполнения одного вызова для каждого объекта?

Я использую язык Javascript, работающий на Node.JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...