根据另一个字段更新和删除嵌入式文档字段

时间:2018-07-03 15:58:51

标签: mongodb mapreduce mongodb-query aggregation-framework

基于嵌入式文档中的另一个字段(其中mongodb中有数百万种此类记录)的最佳方法是更新/删除嵌入式文档的归档的最佳方法是什么?

d3.format(".2g")(0.0000020852945934254138)
>> "0.0000021"
d3.format(".2g")(0.00000020852945934254138)
>> "2.1e-7"

例如,这是集合 doc 的示例文档,如果没有date1字段,我想删除date2字段;如果有date1,则要用date1字段更新date2字段。对于mongodb来说,这是一个非常新的事物,因此尝试找出最佳的方法。 这只是一个示例,真实文档比具有多个嵌入式文档的文档大得多。

我想出了以下解决方案,但恐怕要在有数百万条记录的地方运行此查询。

{ 
    "_id" : ObjectId("321a9740b5acd22b64c994ee"), 
    "embdoc1" : {
        "embdoc2" : { 
            "date1" : NumberLong(1530566682303),
            "date2" : NumberLong(1531497600000)
        }
    }
}

会有更好的方法吗?听说过mapReduce,但不确定在这种情况下如何实现

0 个答案:

没有答案