【问题标题】:Querying an array using Go and Datastore使用 Go 和 Datastore 查询数组
【发布时间】:2014-06-26 00:34:27
【问题描述】:

我有以下场景:

type Band struct {
    Name       string
    LocationId *datastore.Key
    Albums     []Album
}

type Album struct {
    Name    string
    GenreId *datastore.Key
    Year    int
}

我想要做的是查询 Bands Albums 密钥以获取具有特定 GenreId 密钥的专辑。

【问题讨论】:

    标签: google-app-engine go google-cloud-datastore


    【解决方案1】:

    我找到了答案。结果很简单。而不是

    Filter("GenreId =", genreId)
    

    我用过

    Filter("Albums.GenreId =", genreId)
    

    这给了我有效的查询结果。

    【讨论】:

    • 通常过滤器无需指定“实体类型”即可工作,您可能需要检查 config.BAND_TYPE 是否为空,这可能导致查询作为“无类型查询”运行(针对各种)
    • BAND_TYPE 在 dataconfig.go 中定义如下 const BAND_TYPE = "Band"
    • 如果您阅读我在顶部的代码,您会看到 GenreId 存储在专辑数组中。
    猜你喜欢
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 2014-03-02
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    相关资源
    最近更新 更多