解决qmgo中each数组传参问题
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决qmgo中each数组传参问题相关的知识,希望对你有一定的参考价值。
解决qmgo中each数组传参问题
解决 [The argument to $each
in $push
must be an array but it was of type: object]
obj := &User //这里每个属性都要分配内存,不然upload可能字段可能为object类型而非array
Id: 1,
Name: "Herio",
CpuUse: make([]test2, 0), //一定要分配,不然是object
MemUse: make([]test2, 0),
IOCount: make([]IOdata, 0),
err := cli.UpdateOne(*ctx, bson.M"id": 1, bson.M
"$push": bson.M
"cpu": bson.M"$each": m.CpuUse, //追加cpu
"mem": bson.M"$each": m.MemUse, //mem
"io_count": bson.M"$each": m.IOCount, //IOCount
, Opts)
举个例子,上面的each 对应的参数应该传一个数组,我这里报错的原因就是m.CpuUse
有可能没有初始化,就是一个object空类型,导致参数不对应。所以在传参时一定要保证传入的参数类型为要求的类型。
以上是关于解决qmgo中each数组传参问题的主要内容,如果未能解决你的问题,请参考以下文章
【Rails】如何用erb中的each转一个数组中的hash