美元($)前缀字段'$ divide'in对存储无效

时间:2018-03-10 01:03:35

标签: mongodb

我正在尝试通过计算其他两个字段来更新字段seconds_until_start。这在似乎最直观的方式似乎不适用于mongodb。任何建议我还能做些什么表示赞赏。

db.price_scrape.update({"timestamp": {"$exists": true}},
  {"$set": {
      seconds_until_start: {$divide: [{$subtract: ["$marketstarttime", "$timestamp"]}, 1000]}
  }},
multi=true)

The dollar ($) prefixed field '$divide' in 'seconds_until_start.$divide' is not valid for storage.

1 个答案:

答案 0 :(得分:0)

检查您的mongo版本,如果不是v4.2 +,则您的查询将无法正常工作。

正如@JohnnyHK在评论中指定的(此链接https://stackoverflow.com/questions/3974985/update-mongodb-field-using-value-of-another-field[enter此处的链接描述] 1

检查第一个答案,以深入了解如何在Mongo DB上以较低版本编写查询