вставка объекта с вложенными массивами в mongodb с помощью moongose, nodejs - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь вставить такой объект в mongodb.

   {
    "client" : "Jhon"
    "items" : [
                [
                 "item": "whatever1",             
                ],
                [
                 "item": "whatever2",
                ]
     ]
   }

Я использую Mongoose, поэтому у меня есть такая схема.

const itemSchema= new Schema({
    item: { type: String, required: true },
})

const clientSchema = new Schema({
    client: { type: String, required: true },
    items: [itemSchema],
})

После того, как я отправляю объект на свой сервер nodejs и создаю документ, я проверяю созданный документ, и «items» - это массив, который содержит только _id: но не более того.

Я создаю такой документ.

createClient = (req, res) => {
    console.log(req.body); // Here i check what is receiving the server.
    clientModel.create(req.body).then(() => res.json('saved'));
}

В req.body я проверил, что сервер получает объект с пустыми массивами ... это нормально? Я учусь, и я новое программирование ...

1 Ответ

0 голосов
/ 30 августа 2018

Ваша полезная нагрузка не соответствует действительности.

[ "item": "whatever1" ]

не является допустимым JSON и не будет проанализирован должным образом. Попробуйте изменить полезную нагрузку на:

{
  "client": "Jhon"
  "items": [
    { "item": "whatever1" },
    { "item": "whatever2" }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...