MongoDB列出Go中具有给定前缀的数据库 问题:
如何仅列出具有给定前缀(MongoDB列出Go中具有给定前缀的数据库 问题:,mongodb,go,mongo-go,Mongodb,Go,Mongo Go,如何仅列出具有给定前缀(前缀)的数据库 例子: 主程序包 进口( “上下文” “fmt” “go.mongodb.org/mongo-driver/bson” “go.mongodb.org/mongo-driver/mongo” “go.mongodb.org/mongo-driver/mongo/options” “日志” ) 类型foo struct{ 值字符串 } func main(){ clientOptions:=options.Client().ApplyURI(“mongodb
前缀
)的数据库
例子:
主程序包
进口(
“上下文”
“fmt”
“go.mongodb.org/mongo-driver/bson”
“go.mongodb.org/mongo-driver/mongo”
“go.mongodb.org/mongo-driver/mongo/options”
“日志”
)
类型foo struct{
值字符串
}
func main(){
clientOptions:=options.Client().ApplyURI(“mongodb://10.0.12.76:27018")
客户端,错误:=mongo.Connect(context.TODO(),clientOptions)
如果错误!=零{
log.Fatal(错误)
}
db:=[3]字符串{“prefix\u foo”、“prefix\u bar”、“bar”}
对于u,元素:=范围db{
_,err:=client.Database(element.Collection(“占位符”).InsertOne(context.TODO(),foo{“sth”})
如果错误!=零{
log.Fatal(错误)
}
}
筛选器:=bson.D{}
dbs,err:=client.ListDatabaseNames(context.TODO(),filter)
如果错误!=零{
log.Fatal(错误)
}
fmt.Printf(“%+v\n”,dbs)
}
输出:
[管理条配置本地前缀\u条前缀\u foo]
预期产出:
[prefix\u bar prefix\u foo]
奖金:
struct
就可以创建数据库foo
只需按表示数据库名称的
name
属性进行筛选。要列出以给定前缀开头的数据库,您可以使用regexp作为^prefix\
:
filter := bson.M{"name": primitive.Regex{Pattern: "^prefix_"}}
页面上列出了其他过滤器选项:
您可以在listDatabases
的输出中的任何字段上指定条件:
name
sizenodisk
empty
碎片
您可以使用一个空的
bson.M{}
插入一个空文档(\u id
当然会被添加)。尝试bson.D{“name”,primitive.Regex{模式:“^”+前缀+“*”,选项:“i}}}
,或者bson.D{“name”,bson.D{$Regex,“^”+前缀+“*”{,“$Options”,“i}}}}
。谢谢,我确信我尝试过类似的东西。无论如何,我如何列出所有属性以用于搜索?