{
"_id" : ObjectId("59660d4099c1e682e0992ced"),
"alpha" : [
{
"_id" : ObjectId("59660d4199c1e682e0992cee"),
"number" : 1,
"start_at" : ISODate("2017-07-12T11:51:28.895Z"),
"end_at" : ISODate("2017-08-12T11:51:28.895Z"),
"created_at" : ISODate("2017-07-12T11:51:29.346Z"),
"updated_at" : null
}
]
}
Tôi có một tài liệu như trên và tôi muốn để cập nhật hoặc thay đổi lĩnh vực 'số' và 'updated_at' trong một phần tử JSON của mảng 'alpha'.(Azure cosmosDB/MongoDB) Cập nhật các lĩnh vực của một phần tử cụ thể của một đối tượng trong một mảng
Tôi cố gắng này:
db.mycol.update({_id: ObjectId("59660d4099c1e682e0992ced"), alpha: {$elemMatch: {_id: ObjectId("59660d4199c1e682e0992cee")}}}, {$set: {"alpha.$.number": 2, "alpha.$.updated_at": new Date()}})
Nó hoạt động tốt với máy chủ MongoDB bình thường. Nhưng với Azure cosmosdb/mongodb nó nói ok nhưng không thực sự cập nhật tài liệu. Tôi đang làm gì sai?
Prataksha, bạn có tìm thấy bất kỳ công việc nào không? – GeekOnGadgets
vâng, trước hết tôi lấy toàn bộ mảng ** alpha ** sau đó tôi lặp qua nó và thay đổi dữ liệu tôi muốn thay đổi. Và cuối cùng Sau khi tôi đã hoàn thành, tôi ** $ đặt ** mảng ** alpha ** lần nữa với một giá trị cập nhật mới. Tôi biết nó sẽ không giống như hoàn toàn nguyên tử như ** findAndModify ** nhưng bây giờ nó thực hiện công việc đó. Đang chờ sự hỗ trợ đầy đủ của AZURE. – Prataksha