Пн goose: невозможно определить поля запроса для установки, путь «участники» сопоставляется дважды - PullRequest
0 голосов
/ 02 апреля 2020

Я использую mon goose с Node.js для создания документа chat с participants в качестве одного из полей, если чат не существует.

Если он существует, просто увеличьте статус до 1 или любого числа.

Мое текущее решение:

 try {

   let query = { participants: { $all: [CURRENT_USER_ID, TARGETED_ID] } };
   let update = { $inc: { status: 1 }};
   let options = { upsert: true, new: true };
   let chat = await Chat.findOneAndUpdate(
      query,
      update,
      options
   ).exec();
   console.log(chat);

  } catch (err) {

    console.log(err.message);

  }

Я получу ошибку

"невозможно определить поля запроса для установки, путь" участники "сопоставляется дважды"

Я даже использую это решение , и оно не работает, оно создало вместо этого пустой список участников.

let query = {
       participants: {
         $all: [
           { $elemMatch: { $eq: CURRENT_USER_ID } },
           { $elemMatch: { $eq: TARGETED_ID } }
         ]
       }
     };

Любая помощь будет очень полезна. Спасибо

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