解决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数组传参问题的主要内容,如果未能解决你的问题,请参考以下文章

Go使用MongoDB——Qmgo框架

MongoDB——qmgo进阶使用

【Rails】如何用erb中的each转一个数组中的hash

Vue:axios中POST请求传参问题---传递数组 (补充)

在axios中使用params传参的时候传入数组的方法

GoLang中如何使用多参数属性传参