обновить пустые поля массива в mongodb - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь обновить свой массив, в котором есть поля. Массив уже сохранен в базе данных, но без полей в нем. Есть ли способ обновить пустой массив и добавить в него поля

Схема

      const UserSchema = new Schema({
        User: [{

         Name:{
           type: String,
        },

        Email:{
           type: String,
        },

       }]
    })
      

Массив уже сохранен в базе данных, но он пуст, как это

сохранен база данных

      "id": 101,
      "User":[], 

Вот код, который я использовал для обновления массива

           User.update({id: 101,},
             {
             $push:{
                 user:{
                      Name: "Kevin",
                      Email: "Kevin@gmail.com",
                     },
                   }
             },(err, data)=>{
                console.log(data)
             })

Каждый раз, когда я запускаю код, массив не обновляется, знает ли кто-нибудь, как go об этой проблеме?

1 Ответ

0 голосов
/ 10 июля 2020
db.getCollection('test2').update({
  "id": 101
},
{
  $push: {
    User: {
      $each: [
        {
          "name": "gibbs"
        }
      ]
    }
  }
})

Обновить массив, используя $each. И User должно быть заглавным, поскольку поля чувствительны к регистру в mon go.

Обратитесь

Вывод:

/* 1 */
{
    "_id" : ObjectId("5f08753ce96d8884b6bcc92e"),
    "id" : 101,
    "User" : [ 
        {
            "name" : "gibbs"
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...