簡體   English   中英

如何在 mongodb 中使用 $ 運算符更新文檔

[英]how to update a document use $ operator in mongodb

我正在嘗試更新文檔,這是我的代碼我是 mongodb 的新手我正在嘗試更新嵌套的對象數組這是我的查詢請告訴我這個查詢有什么問題

完整數據鏈接--->鏈接

我嘗試了下面的代碼,但它正在修改整個座位狀態

db.seats.updateOne({"show_seats.showByDate.shows.showSeats._id" :ObjectId("62b16d9ff48ce9a5a15a79d3")}, {$set:{'show_seats.$[].showByDate.shows.$[].showSeats.$[].seat_status': true }})

db.seats.updateOne(
  { 'show_seats.$.showByDate.shows.$.showSeats.$._id': new ObjectId('62b0d1a72f155a7ad94cc831')},
  { $set:{
      'show_seats.$[].showByDate.shows.$[].showSeats.$[].seat_status': false
    }
  }
)

這是我的數據看起來像

{
    "_id": {
        "$oid": "62b0c3342f155a7ad94cc81c"
    },
    "totalShowByDay": "2",
    "totalShowDays": 4,
    "movieId": {
        "$oid": "62b04c782828dd04f0d1c1ad"
    },
    "screenId": {
        "$oid": "62b04b8e2828dd04f0d1c1ac"
    },
    "createdAt": 1655751476553,
    "showId": {
        "$oid": "62b0c3342f155a7ad94cc6db"
    },
    "show_seats": [{
        "showByDate": {
            "ShowDate": "2022-06-20",
            "shows": [{
                "showTime": "2022-06-20T10:00",
                "showSeats": [{
                    "_id": {
                        "$oid": "62b0c3342f155a7ad94cc6dc"
                    },
                    "seat_number": "1",
                    "tag_name": "A",
                    "seat_status": false,
                    "user_id": false,
                    "price": "110",
                    "seats_category": "CLASSIC",
                    "show_time": "2022-06-20T10:00"
                }, {
                    "_id": {
                        "$oid": "62b0c3342f155a7ad94cc6dd"
                    },
                    "seat_number": "2",
                    "tag_name": "A",
                    "seat_status": false,
                    "user_id": false,
                    "price": "110",
                    "seats_category": "CLASSIC",
                    "show_time": "2022-06-20T10:00"

終於我找到了答案我被這個問題困擾了兩天

db.seats.updateOne({"show_seats.showByDate.shows.showSeats._id" :ObjectId("62b16d9ff48ce9a5a15a79d6")},{$set:{"show_seats.$[].showByDate.shows.$[].showSeats.$[elem].seat_status":"my name is hrithik"}},{arrayFilters:[{"elem._id":ObjectId("62b16d9ff48ce9a5a15a79d6")}]})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM