Как вставить в указанное поле c в коллекции MongoDB, используя Node.JS и mongoose - PullRequest
0 голосов
/ 03 февраля 2020

Как вставить в указанное поле c в коллекции MongoDB без обновления данных в поле,

{ subtask: [],
  isverified: true,
  status: 'solved',
  _id: 5e33ff7e7cfc8a32d07d554c,
  task: 'no internet',
  accepter: 'user@user.in',
  tasktype: 'non technical',
  timestamp: '31-00-2020',
  __v: 0 }

Мне нравится вставлять в поле подзадачи. Как я могу это сделать. Ожидаемый результат.

   subtask:[ 
      { 
         id:1,
         sub:'hai'
      },
      { 
         id:2,
         sub:'hellow'
      }
   ],
   isverified:true,
   status:'solved',
   _id:5e33ff7e7cfc8a32d07d554c,
   task:'no internet',
   accepter:'user@user.in',
   tasktype:'non technical',
   timestamp:'31-00-2020',
   __v:0
}```

1 Ответ

0 голосов
/ 03 февраля 2020

Вы можете использовать $ addToSet или $ pu sh ($addToSet не будет добавлено, если значение уже существует, тогда как $push будет делать, существует ли оно уже или нет)

  db.Collection.update(
       { _id: 1 },// condition any
       { $addToSet: { subtask: [ { id:1, sub:'hai' } ] } }
    )

или

db.Collection.update(
           { _id: 1 },// condition any
           { $push: { subtask: [ { id:1, sub:'hai' }, ] } }
        )

Редактировать - убедитесь, что ваша схема goose должна быть, subtask:[{id:Number,sub:String}]

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