【发布时间】:2019-03-08 08:26:29
【问题描述】:
所以现在,数据存储区ds.query(kind='users') 以以下形式向我返回响应:
<Entity(u'users', 5633378543992832L) {u'username': u'xyz', u'user_ip': '127.0.0.1', u'name': u'xyz', u'password': 'something', u'register_date': datetime.datetime(2019, 3, 8, 5, 50, 1, 443212, tzinfo=<UTC>)}>
虽然我可以这样迭代它:
result = {}
for oneItem in query.fetch():
# oneItem is Entity iterable as shown above
for oneProp in oneItem:
result[oneProp] = oneItem[oneProp]
并通过something = result['password']访问任何属性
效果很好,但效率极低。有什么方法可以直接访问任何特定属性而不使用 for 循环或其他数据结构?类似于访问 JSON 中的值。
我正在使用from google.cloud import datastore
【问题讨论】:
-
你想在你的例子中说明什么?您的 for 循环不断用下一个实体覆盖
result中的值。您实际上只是在这样做:result = query.fetch()[-1] -
啊,是的,在我的情况下,它只会有一个我不能或不知道如何直接访问的实体。 query.fetch() 不支持索引。如果是这样,我不会发布这个问题。
标签: firebase nosql google-cloud-datastore datastore