嗨,我的mongodb系列看起来像这样
{ "created" : ISODate("2013-01-01T00:00:00Z"), "total_page_impression_count" : 500, "total_page_story_count" : 7 }
{ "created" : ISODate("2013-01-02T00:00:00Z"), "total_page_impression_count" : 511, "total_page_story_count" : 7 }
{ "created" : ISODate("2013-01-03T00:00:00Z"), "total_page_impression_count" : 513, "total_page_story_count" : 7 }
我希望将(total_page_impression_count + total_page_story_count)的值保存在同一个表的另一列中。任何人都知道这样做的方法。根据调查结果我知道的是,它不可能像SQL一样。如果有人能提供帮助,我会很满意。提前谢谢。
答案 0 :(得分:3)
您可以手动迭代所有文档并编写聚合字段。使用您的语言驱动程序或JavaScript shell。是的,mongodb中没有update users set full_name = first_name + last_name
种命令。
答案 1 :(得分:0)
我认为应用程序逻辑是一种应用程序逻辑。并且,在处理可疑的性能增益时,保存聚合以执行新的非规范化级别的结果,首先是关于开发人员的选择。那么,10gen需要实现这样的功能吗?
googletranslate
答案 2 :(得分:-1)
mongodb不是RDB。 mongodb没有“加入”功能。
db.yourtable.insert({ "created" : ISODate("2013-01-01T00:00:00Z"), "total_page_impression_count" : 500, "total_page_story_count" : 7 })
你需要插入2次。
db.yourtable.insert({ "created" : ISODate("2013-01-01T00:00:00Z"), "total_page_impression_count" : 500, "total_page_story_count" : 7 });
db.othertable.insert({"total_page_story_count":507});