mongodb - 如何使用 bulk.Insert() 将 interface{} 类型插入 mongodb
问题描述
我不能在我的集合中插入一个大数组;我的类型有问题interface{}
。
这是代码:
collections = getSession().DB("go").C("comments")
func BenchmarkBulkInsert(data interface{}) {
bulk := collections.Bulk()
bulk.Insert(data...)
_, bulkErr := bulk.Run()
if bulkErr != nil {
panic(bulkErr)
}
fmt.Printf("\n - %d comments inserted!", reflect.ValueOf(data).Len())
}
我无法构建应用程序。错误信息是这样的:
不能在 bulk.Insert 的参数中使用数据(类型接口 {})作为类型 [] 接口 {}:需要类型断言
我正在使用“gopkg.in/mgo.v2”包连接到Mongo数据库,data
当我将它打印到控制台时是一个数组。
解决方案
你应该使用variadic func 所以你必须改变输入参数:
func BenchmarkBulkInsert(data interface{})
对此:
func BenchmarkBulkInsert(data ...interface{})
推荐阅读
- python - 如何在 Python 中获取文件的行数
- python - 是否可以在格式函数中传递函数?以错误代码零退出的代码
- database - 通过从备份中提取配置来恢复 marklogic 数据库
- java - 将图像从 URL 复制到 HTTP URL
- node.js - 使用 Node.js 在 Return 语句中包含标头和数据数组
- python - Seaborn:使用 lmplot 时如何在所有绘图中指定绘图次要刻度线和网格线?
- matlab - MATLAB中的循环问题
- go - 为什么未分配包级指针变量?
- machine-learning - NeRF(神经辐射场)用于什么?
- gcc - gfortran 编译器错误:求幂结果超出 INTEGER(4) 的范围