Как изменить вложенные свойства в MongoDB, используя Express? - PullRequest
0 голосов
/ 10 января 2020

У меня есть объект в моем MongoDB:

{
  "title": "Amazing Spider Man 2",
  "description":
    "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s",
  "image": "https://wallpaperaccess.com/full/35357.jpg",
  "price": 150,
  "screen": 1,
  "dates": [
    {
      "date": "2014-02-01T09:28:56.321-10:00",
      "rows": [
        {
          "seats": [
            { "booked": true },
            { "booked": true },
            { "booked": false }
          ]
        },
        {
          "seats": [
            { "booked": false },
            { "booked": true },
            { "booked": false}
          ]
        },
        {
          "seats": [
            { "booked": false },
            { "booked": true},
            { "booked": false }
          ]
        }
      ]
    },

Я хочу обновить "забронированное" свойство, используя Express. И я понятия не имею, как это сделать наилучшим образом :) Я новичок в Node.js и в понедельник go, поэтому буду очень благодарен за любую помощь. Спасибо!

1 Ответ

0 голосов
/ 10 января 2020

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

. Это из оболочки mongodb, используйте 0, чтобы указать позицию в массиве

db.getCollection("your collection name").update(criteria, $set: {"dates.0.rows.0.seats.0.booked" : false})

Вы можете узнать у операторов обновления массива в https://docs.mongodb.com/manual/reference/operator/update-array/

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