时间:2021-07-01 10:21:17 帮助过:7人阅读
注意:不管是mongdb原始命令,还是go调用,$sum操作符号,只能汇总数值类型的字段(比如,Double,float等);之前保存的时候num字段保存为string类型(“5”),无法汇总;
db.process_list_info.find({"code":"fwq_add"}).forEach(function(obj){obj.detail.detail.forEach(function(bj){ bj.num = parseFloat(bj.num) } );db.process_list_info.save(obj) })
db.process_list_info.find({"code":"fwq_mv_add"}).forEach(function(obj){obj.detail.detail.forEach(function(bj){ bj.num = parseFloat(bj.num) } );db.process_list_info.save(obj) })
这样处理以后num字段转换成了Double;
db.foo.find({bad: {$exists: true}}).forEach(function(obj) {
obj.user_id = new NumberInt(obj.user_id);
db.foo.save(obj);
});
go的管道调用
func (this *BaseMongo) FindPipe(dataBase string, col string, queryStruct []interface{}) []interface{} {
if session.Ping() != nil {
doConn()
}
c := session.DB(dataBase).C(col)
var result []interface{}
c.Pipe(&queryStruct).All(&result)
return result
}
go语言mongdb管道使用
标签: