【问题标题】:How can I create views on Mongodb Queries using mongo driver for Go?如何使用 Go 的 mongo 驱动程序在 Mongodb 查询上创建视图?
【发布时间】:2018-07-14 07:03:02
【问题描述】:

我正在使用 Golang 和 Mongodb。我正在为 Go 使用 https://godoc.org/gopkg.in/mgo.v2 mongo 驱动程序。我想就我的查询写视图,但我发现没有为此定义函数。 Mongo Views 是 3.4 版中提供的最新功能。我也在其他驱动程序中检查过:

https://godoc.org/github.com/mongodb/mongo-go-driver/mongo

它甚至不存在。如何在我的驱动程序中获得此功能?

【问题讨论】:

    标签: mongodb go


    【解决方案1】:

    我想为我的查询编写视图,但我发现没有为此定义函数。

    自 MongoDB v3.4 起,支持从现有集合或其他视图创建 只读 视图。

    为了创建视图,你可以执行create()数据库命令。例如:

    db.runCommand( { create: <view>, 
                     viewOn: <source>, 
                     pipeline: <pipeline>, 
                     collation: <collation> 
    } );
    

    例如,如果你有一个来自 mongo shell 的create 查看命令,如下所示:

    db.runCommand( {create:"testview", 
                    viewOn: "collectionName", 
                    pipeline: [ {"$project":{ "fieldA":1 } } ] 
    });
    

    使用mongo-go-driver(当前版本为0.0.9),上面的创建视图命令可以用Go编写如下:

    _, err = database.RunCommand(
        context.Background(),
        bson.NewDocument(bson.EC.String("create", "testview"),
                         bson.EC.String("viewOn", "collectionName"),
                         bson.EC.ArrayFromElements(
                             "pipeline", bson.VC.DocumentFromElements(
                                 bson.EC.SubDocumentFromElements(
                                     "$project", bson.EC.Int32("fieldA", 1),),
                                 ),
                             ),
                         ),
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 2019-09-07
      • 2020-04-02
      • 2017-07-09
      • 2018-06-27
      • 2012-05-24
      • 2012-11-17
      相关资源
      最近更新 更多