在mongodb中扩展日期范围

时间:2015-04-16 05:13:41

标签: mongodb nosql

我有一个像

这样的文档结构
{
  "startDate": ISODate("2015-01-01T00:00:00Z"),
  "endDate" : ISODate("2015-01-10T00:00:00Z"),
  "foo" : "bar"
}

是否可以像这样扩展日期范围?

{
 "dates": [
           ISODate("2015-01-01T00:00:00Z"),
           ISODate("2015-01-02T00:00:00Z"),
           ISODate("2015-01-03T00:00:00Z"),
           ISODate("2015-01-04T00:00:00Z"),
           ISODate("2015-01-05T00:00:00Z"),
           ISODate("2015-01-06T00:00:00Z"),
           ISODate("2015-01-07T00:00:00Z"),
           ISODate("2015-01-08T00:00:00Z"),
           ISODate("2015-01-09T00:00:00Z"),
           ISODate("2015-01-10T00:00:00Z")
        ]
}

1 个答案:

答案 0 :(得分:1)

据我所知,您希望为所有文档添加字段dates。这是我将使用的方法(您可以在mongoshell中执行此操作):

1)迭代修改它们的所有文件

db.coll.find()..snapshot().forEach(function(o){
    o.dates = func(o.startDate, o.endDate);
    db.coll.save(o);
});

2)你的func功能类似于this的答案(你需要稍微修改它,因为看起来你只需要没有时间的日期。