【问题标题】:Not Ok for storage on subfield update不适合在子字段更新时存储
【发布时间】:2014-02-04 21:21:56
【问题描述】:

我想运行这个命令

db.hospitals.update( { "coordinates.lng": { $lt: -9.034882 } , display:1 },
                    { $set: {"coordinates.lng":{$inc : 0.75}}},
                    { multi: true }
                  )

我得到的只是:不是 okForStorage 坐标是一个嵌入文档,这是它的结构:

coordinates{
  lat:
  lg:
}

根据要求

db.hospitals.findOne()
{
        "_id" : ObjectId("52ae09f8211b6f57548b4568"),
        "active" : 0,
        "author" : "52cb29b0211b6fd9248b456b",
        "coordinates" : {
                "lat" : 35.691048,
                "lng" : 139.701065
        },
        "date" : ISODate("2013-10-24T18:41:42Z"),
       "display" : 0

}

请帮忙!

【问题讨论】:

  • 这可能会有所帮助stackoverflow.com/questions/6041109/…
  • 答案说不应该有 .在我的字段名中,那么我该如何更新子字段?
  • 你能把db.hospitals.findOne()的输出发给我吗
  • 我将它添加到问题中! :)
  • 我认为这是一个 MongoDB shell Bug

标签: mongodb


【解决方案1】:
{ $set: {"coordinates.lng": {$inc: 0.75}}}

这不是你$inc一个字段的方式。 ^ 改为这样做:

{ $inc: {"coordinates.lng": 0.75}}

【讨论】:

  • 你72K的声望不是白白的!非常感谢
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 2017-03-29
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
相关资源
最近更新 更多