标签: gql

如何在(Python)Google App Engine数据源上正确执行一对多连接?

我有一些模型设置如下:

class Apps(db.Model):
    name        = db.StringProperty(multiline=False)
    description = db.TextProperty()

class AppScreenshots(db.Model):
    image_file     = db.StringProperty(multiline=False)
    description    = db.StringProperty(multiline=False)
    app            = db.ReferenceProperty(Apps)
Run Code Online (Sandbox Code Playgroud)

我试图在屏幕截图中引用"父"应用程序,如下所示:

a = Apps.get(app_key)   
ss = AppScreenshots(
    image_file     = 'foo',
    description    = 'bar',
    app            = a
)
ss.put()
Run Code Online (Sandbox Code Playgroud)

但它抱怨我说:

BadArgumentError('_app should be a string; received ag1raWxsZXItcm9ib3RzcgoLEgRBcHBzGAkM (a Key):',)
Run Code Online (Sandbox Code Playgroud)

我试过在互联网上查看一些例子,他们似乎都像上面那样工作.一组文件的谷歌拥有了不同的建议做了一下,像这样的:

a = Apps.get(app_key)   
ss = AppScreenshots(
    image_file     = 'foo',
    description    = 'bar',
    app            = a.key()
)
ss.put()
Run Code Online (Sandbox Code Playgroud)

但这给了我完全相同的错误.

我究竟做错了什么?

python google-app-engine gql

2
推荐指数
1
解决办法
586
查看次数

如何在GQL(谷歌查询语言)中实现这一点

在MySQL中它就像:

select*from table1 where column1 in('a','b','c');

如何在GQL中做到这一点?

mysql google-app-engine gql

2
推荐指数
1
解决办法
1355
查看次数

零结果在Query/GqlQuery中

我怎么知道我的查询结果是使用Query接口还是GqlQuery接口返回零结果?使用.get()零结果会产生错误吗?如果是的话,处理它的最佳方法是什么?

python google-app-engine gql gqlquery queryinterface

2
推荐指数
1
解决办法
929
查看次数

为什么谷歌的BigTable被称为NoSQL数据库?

来自维基百科:

[NoSQL数据库]的着名生产实现包括谷歌的BigTable,亚马逊的Dynamo和Cassandra.

但谷歌的BigTable 确实有一些SQL的变种,称为GQL.

我错过了什么?

sql database gql bigtable nosql

2
推荐指数
2
解决办法
8305
查看次数

有没有办法使用查询获取所有谷歌数据存储“KIND”的列表

KINDS我想使用查询从我的谷歌应用程序引擎数据存储中获取列表(GQL也许?)。例如,人们会简单地show tables使用数据库。

我看过类似的问题(How to list types in datastore?),但是它不能解决我的问题,因为它是 python 特定的。

我目前正在 PHP 中使用 GDS 库(https://github.com/tomwalder/php-gds),如果我知道使用 GQL 查询的实体名称,它可以帮助我从 GDS 获取数据"SELECT * FROM Kind"

我目前所处的情况是,我可能不知道需要从中获取数据的实体种类的名称,因此需要获取实体种类列表,然后我可以查看并确认该实体是否存在,然后运行我的选择查询。

任何指示将不胜感激。

php google-app-engine gql google-cloud-datastore

2
推荐指数
1
解决办法
2088
查看次数

在 Playground 中使用 GQL 查询的 AST 节点无效

我可以在 GQL Playground 中执行这个精确的查询并返回数据。在调试期间,我可以在将查询字符串传递给 gql 之前立即捕获它。

我将无法共享架构

查询是

query {
      vessels{
        vessel {
          mmsi
          imo
          name
          shipType
         }
    }
 }
Run Code Online (Sandbox Code Playgroud)

错误

Invalid AST Node: '\n    query {\n          vessels{\n            vessel {\n              mmsi\n              imo\n              name\n              shipType\n             }\n        }\n     }\n\n    '
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种调试来找出如何解决这个问题,但没有成功

python gql gqlquery python-3.x

2
推荐指数
1
解决办法
1757
查看次数

Google App Engine:数据存储区不是传统的关系数据库.这是什么意思?

GAE入门指南

由于App Engine数据存储区不是传统的关系数据库,因此不使用SQL指定查询.相反,您可以使用我们称为GQL的类似SQL的查询语言来准备查询.

它们是什么意思"不是传统的关系数据库",除了要求GQL而不是SQL之外,它还有什么含义.

sql google-app-engine gql

1
推荐指数
1
解决办法
1385
查看次数

调用get()时为什么gql查询结果会导致异常

我试图从我的数据存储区中检索一个条目:

 query = UserData.gql("WHERE mDeviceId = :1", id)
 Utils.log("my Object:" + str(query))
 entry = query.get()
Run Code Online (Sandbox Code Playgroud)

事实上,变量'id'甚至不存在(错字),所以我知道如何解决这个问题,但我不明白为什么我得到的结果不会让我调用get().当我这样做时,我收到错误:

Exception: Unsupported type for property  : <type 'builtin_function_or_method'>
Run Code Online (Sandbox Code Playgroud)

通常我只是检查条目==无,看看我是否没有结果.有谁知道为什么会发生这种情况,如果我应该以不同的方式对我进行检查,以防我将来有这样的错别字?

google-app-engine gql

1
推荐指数
1
解决办法
179
查看次数

限制数据查看器中的字段

我试图在GAE的数据存储区查看器中做一些简单的报告.使用GQL我想只显示一个记录的几个字段.这可能吗?

如何使用字段实体:

f1 f2 f3 f4 f5 f6

并显示

f1 f3 f5 f6

google-app-engine gql

1
推荐指数
1
解决办法
177
查看次数

Google Cloud Datastore:如何查询所有不同的Parent/Ancestor?

我有一个名为Datastore Kind Order,它有一个祖先/父级User.

我想使用GQL查询订单的所有不同祖先(用户),但以下查询不起作用.

SELECT DISTINCT User FROM Order

查询的响应是:

没有实体匹配此查询.

确保您要搜索的属性有简单索引或复合索引.学到更多

由于父母也是关键的一部分,我也尝试过:

SELECT DISTINCT __key__ FROM Order

但错误回复说:

GQL查询错误:属性:key不支持分组依据

gql gqlquery google-cloud-datastore google-cloud-platform google-query-language

1
推荐指数
1
解决办法
982
查看次数