批量更新MongoDB时间戳

时间:2011-05-31 21:42:16

标签: mongodb pymongo

我的收藏中有一些记录。其中一个键是'available_on' 这是一个日期时间/时间戳值。我想批量更新并添加一个 间隔到所有这些字段。

所需用法如下:

coll.update({}, {'$inc': {'available_on': 1 day}}, multi=true)

我正在使用pymongo 1.10,据我所知,没有办法 向updatefind_and_modify提供JavaScript代码。我只能使用 更新修饰符。

1 个答案:

答案 0 :(得分:-2)

我不知道Python API,但你可以使用$ where找到一个带有JavaScript的条目,例如在JavaScript Shell中:

db.collection.find({$where: 'this.field > 3'});

但请注意,找到基于JavaScript的条目可能会很慢。我认为不能使用任何索引,最终会进行表扫描。

您可以在官方文档中找到更多相关内容:http://www.mongodb.org/display/DOCS/Server-side+Code+Execution

我认为“正常”的方式是,您找到要更改的所有条目。更改Python代码中的对象,并将新修改的对象保存在数据库中。