62得票4回答
查询大量ndb实体的最佳实践

我在使用App Engine数据存储时遇到了一个有趣的限制。我正在创建一个处理程序,帮助我们分析生产服务器上的某些使用数据。为了执行分析,我需要查询并汇总从数据存储中提取的10,000多个实体。计算并不困难,只是对使用样本的特定过滤器的项目的直方图。我遇到的问题是,在达到查询截止时间之前,我无...

23得票3回答
谷歌应用引擎NDB自定义键ID

当我使用ndb的put方法创建对象时,它会自动创建Key(kind, id)类型的键,其中id为数字。在整个文档中,它显示您可以使用字符串作为键的ID,但我无法找到如何在创建对象时自动执行此操作。 我有一个User模型,我想使用用户的用户名(因为它是唯一的)作为键的ID以便更快地检索。这是一...

20得票6回答
谷歌应用引擎错误:NeedIndexError:未找到匹配的索引

我在使用Google的应用引擎索引时遇到了问题。当通过GoogleAppEngineLauncher运行我的应用程序时,应用程序可以正常工作。但是当部署应用程序时,我会收到以下错误:NeedIndexError: no matching index found. The suggested i...

20得票1回答
Google应用引擎 NDB

最近发布了NDB,是否有理由继续使用旧的数据存储API? 我正在开发一个当前使用旧的数据存储API的应用程序,并在memcache中缓存对象。如果我转换到NDB,我的理解是可以删除自定义缓存,并仍然保持当前性能,这个想法正确吗? 此外,NDB是否以任何方式改变了分片计数器的需求?在NDB中...

18得票1回答
如何在Google App Engine for python中删除NDB模型的所有实体?

我有一个ndb模型类:class Game(ndb.Model): gameID = ndb.IntegerProperty() gameName = ndb.StringProperty() 有没有一种快速删除数据库中存储的此类实体的方法?类似于Game.deletAll()...

17得票2回答
谷歌应用引擎NDB数据存储的简单解释。

我正在创建一个Google App Engine应用程序(Python),并正在学习一般框架。我一直在研究NDB数据存储的教程和文档,但是在理解概念方面遇到了一些困难。我具有SQL数据库的丰富背景,并且从未使用过任何其他类型的数据存储系统,因此我认为这就是我遇到麻烦的地方。 我当前的理解是:...

16得票2回答
在App Engine中,db.ReferenceProperty()和ndb.KeyProperty有什么区别?

ReferenceProperty在处理两个模块之间的引用方面非常有帮助。例如:class UserProf(db.Model): name = db.StringProperty(required=True) class Team(db.Model): manager_na...

16得票3回答
Google App Engine Datastore 中最有效的一对多关系是什么?

抱歉如果这个问题太简单了,我只上了九年级。我正在尝试学习NoSQL数据库设计。我想设计一个谷歌数据存储模型,最小化读/写次数。 以下是关于博客帖子和评论的玩具示例,呈一对多关系。哪种方法更有效——在StructuredProperty中存储所有评论,还是在Comment模型中使用KeyPro...

15得票2回答
如何通过NDB游标获取上一页的结果?

我正在开发一个通过GAE提供API的项目,该API将允许用户在一组实体中向前和向后翻页。 我已经查阅了NDB查询文档页面上关于游标的章节,其中包括了一些描述如何在查询结果中向后翻页的示例代码,但它似乎并没有按照预期工作。我正在使用的是GAE Development SDK 1.8.8。 以下...

15得票2回答
谷歌应用引擎的NDB:获取实体的ID

这看起来很简单,但我找不到如何从Google App Engine的ndb中获取实体的id。class Message(ndb.Model): name: ndb.StringProperty() ... 创建一个消息对象:message = Message(id=someId...