如何从数据存储中仅获取已过滤的实体

时间:2012-10-03 08:54:24

标签: google-app-engine datastore

我如何获取整个实体并获取过滤的数据集,就像我们在SQLITE DB中一样。

2 个答案:

答案 0 :(得分:1)

请查看this,了解如何在python中执行此操作。您通常要做的是定义一个class包含充当属性的成员。

class Song(db.Model):
    title = db.StringProperty()
    composer = db.StringProperty()
    date = db.DateTimeProperty()

相当于拥有一个名为Song的表,其中包含字段titlecomposerdate

当你这样做时,你可以获得所有歌曲的实例

q = Song.all() 
results = q.fetch(limit = 100) 

这会将提取的结果数量限制为100。 现在过滤如下:

q.filter('title =', 'Imagine')

将过滤标题为Imagine的实体。这样您就可以过滤和订购结果。一旦你有过滤结果,如果你使用python,你可以在字典模式下访问它们。

for song in results:
    print song.title , song.date

您还可以使用sql way课程查询GqlQuery。例如,

q = db.GqlQuery("Select * from Song")  

请参阅this,了解我们是如何在java中完成的。

答案 1 :(得分:1)

听起来你要求projection query