我的收藏中有几张唱片。其中一个键是“available_on”,它是一个日期时间/时间戳值。我想批量更新并为所有这些字段添加一个间隔。
所需的用法如下:
coll.update({}, {'$inc': {'available_on': 1 day}}, multi=true)
我正在使用 pymongo 1.10,据我了解,无法向update
or提供 JavaScript 代码find_and_modify
。而且我只能使用更新修饰符。
我不知道 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 代码中的对象,并将新修改的对象保存在数据库中。