繁体   English   中英

(AZURE cosmosDB / mongoDB)更新数组中对象的特定元素的字段

[英](AZURE cosmosDB/mongoDB) Update fields of an specific element of an object in an array

{
    "_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
        }
    ]
}

我有一个如上所述的文档,我想更新或更改“ alpha”数组的JSON元素中的字段“ number”和“ updated_at”。

我尝试了这个:

db.mycol.update({_id: ObjectId("59660d4099c1e682e0992ced"), alpha: {$elemMatch: {_id: ObjectId("59660d4199c1e682e0992cee")}}}, {$set: {"alpha.$.number": 2, "alpha.$.updated_at": new Date()}})

它与普通的mongodb服务器正常工作。 但是使用天蓝色的cosmosdb / mongodb可以,但是并没有真正更新文档。 我究竟做错了什么?

更新或更改“ alpha”数组的JSON元素中的字段“ number”和“ updated_at”

并非MongoDB的所有查询语法/功能都在Azure Cosmos DB:MongoDB API中实现。 根据我的测试 ,看来Azure Cosmos DB:MongoDB API现在不支持Array Update ,将来会支持此功能。

在此处输入图片说明

如果可能,您可以在“ 用户语音”上创建一个项目以提供反馈。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM