使用gopkg.in/mgo.v2作为字符串的golang中的自定义mongodb命令

瓦希德(Vahid):

我想知道,是否仍然可以运行我自己的命令(或查询),我已经使用go中的“ mgo”将其构造为字符串变量。

像这样:

c := session.DB(DBNAME).C(COLLECTION)
c.RUN_COMMAND_AS_STRING("find({username:'vahid'})")
Wan Bachtiar:

无论如何,有没有运行我自己的命令(或查询),我已经使用go中的“ mgo”将其构造为字符串变量。

您可以调用MongoDB find命令,并将查询过滤器的字符串解析为map[string]interface{}

例如:

db := session.DB("databaseName")

queryString := `{"username":"sergio"}`
var filter map[string]interface{} 
err = json.Unmarshal([]byte(queryString), &filter)

result := bson.M{}
err = db.Run(bson.D{{"find", "collectionName"}, {"filter", filter}}, &result)
fmt.Println(result)

另外,find()也可以使用MongoDB Aggregation Pipeline,而不是根据您的用例使用

例如:

pipeString := `[{"$match":{"username":"sergio"}}, {"$project":{"newfield":"$username"}}]`

pipe := []bson.M{}
err = json.Unmarshal([]byte(pipeString), &pipe)

coll := session.DB("databaseName").C("collectionName")
response := []bson.M{}
err = coll.Pipe(pipe).All(&response)  
fmt.Println(response)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用gopkg.in/mgo.v2检查mongo中对象的存在

使用gopkg.in/ini.v1在测试和调试期间无法加载我的iniFile

无法使用gopkg.in/yaml.v2解压缩具有缩进或空值的yaml文件

Vim自定义命令,使用默认Vim命令放置字符串

在C ++中使用自定义字符串类作为映射键值

使用实体框架将自定义字符串作为主键

如何在自定义 R 函数中使用文本字符串作为变量

在Golang中使用字符串拆分的自定义解组

使用自定义字符串定义符号变量

使用三列的自定义代码在SSRS 2008 R2中拆分字符串

对字符串使用自定义比较器

使用自定义输入乘以字符串的输出

使用自定义uisearchbar搜索字符串

使用sed自定义字符串空间

如何使用Golang自定义扫描程序字符串文字并扩展内存以将整个文件加载到内存中?

使用自定义排序顺序在Unix中对字母数字字符串进行排序

使用Python中的自定义字符串从数据框日期列返回会计季度

在python3中使用自定义字符串执行

使用字符串向量在 R 中循环自定义 ifelse 函数

使用自定义名称空间在Java中创建XML字符串

使用自定义对象在ArrayList中搜索某些字符串

我如何使用自定义模式在java中拆分字符串

使用自定义UITableViewCell中的按钮获取单元格字符串的问题

如何使用包含在自定义对象ArrayList中搜索特定字符串?

使用ServiceConfiguration(Azure)中的连接字符串自定义DbContext

使用自定义字典模糊匹配和替换数据框中的字符串

使用对象中包含的字符串对自定义对象列表进行排序

使用PHP-Symfony将数组中的元素转换为自定义字符串

使用前置自定义变量从字符串中获取括号值