Node js mongoose cập nhật thuộc tính mảng lồng nhau

Manoj

New Member
#1
Mình muốn cập nhật thuộc tính chargeList isDelete thành true khi giá trị ngày lớn hơn một giá trị cụ thể. Code của mình như sau:
Mã:
{
   "chargeList": [
     {
         "date": ISODate("2013-06-26T18:57:30.012Z"),
         "price": "123",
         "isDelete": false

     },
     {
         "date": ISODate("2013-06-27T18:57:30.012Z"),
         "price": "75",
         "isDelete": false

     }
   ]
 }
Mình cũng đã thử như đoạn code sau nhưng nó chỉ cập nhật các yếu tố đầu tiên phù hợp trong mảng chargeList:
Mã:
Model.update(
  {
    "_id": 1,
    "chargeList": {
      "$elemMatch": {
        "date": {
           $gt:  ISODate("2013-06-26T18:57:30.012Z")
        }
      }
    }
  },
  {
    "$set": { "chargeList.$.isDelete": true }
  }
)
 

PVS

Moderator
Thành viên BQT
#2
Bạn cần sử dụng $[] tất cả toán tử vị trí để cập nhật nhiều phần tử trong một mảng
Mã:
Model.update(
  {
    "_id": 1,
    "chargeList": {
      "$elemMatch": {
        "date": {
           "$gt":  ISODate("2013-06-26T18:57:30.012Z")
        }
      }
    }
  },
  {
    "$set": { "chargeList.$[].isDelete": true }
  }
)
 

Từ khóa phổ biến

You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.

Top