Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何设置按ID ndb.query筛选_Python_Google App Engine_Google Cloud Datastore_App Engine Ndb - Fatal编程技术网

Python 如何设置按ID ndb.query筛选

Python 如何设置按ID ndb.query筛选,python,google-app-engine,google-cloud-datastore,app-engine-ndb,Python,Google App Engine,Google Cloud Datastore,App Engine Ndb,我尝试过滤ID,如下所示 ancestorid id value 1111 aaaa 10 // I want to fetch this 1111 bbbb 20 2222 aaaa 30 // and this. 2222 cccc 40 但是,我在ndb.query引用中找不到按id筛选 我可以按键筛选。但它是必需的祖先键(id)。 我要去接你的小组 如何使用ndb.que

我尝试过滤ID,如下所示

ancestorid  id      value
1111       aaaa     10       // I want to fetch this
1111       bbbb     20
2222       aaaa     30       // and this.
2222       cccc     40
但是,我在ndb.query引用中找不到按id筛选

我可以按键筛选。但它是必需的祖先键(id)。 我要去接你的小组


如何使用ndb.query按ID筛选?

单次查询无法做到这一点。这是因为如果您进行祖先查询,您将只从该祖先实体组中获得结果,如果您不进行祖先查询,您将只获得没有祖先的实体。所有这些查询都会有不重叠的结果

获得所需结果的唯一方法是使用多个查询:

  • 获取感兴趣的祖先密钥(可能使用查询)
  • 对每个获得的祖先密钥执行一个祖先查询
  • 如果您寻找的实体可能没有祖先,也可以执行非祖先查询
  • 将上述所有已执行查询的结果合并在一起

单次查询无法做到这一点。这是因为如果您进行祖先查询,您将只从该祖先实体组中获得结果,如果您不进行祖先查询,您将只获得没有祖先的实体。所有这些查询都会有不重叠的结果

获得所需结果的唯一方法是使用多个查询:

  • 获取感兴趣的祖先密钥(可能使用查询)
  • 对每个获得的祖先密钥执行一个祖先查询
  • 如果您寻找的实体可能没有祖先,也可以执行非祖先查询
  • 将上述所有已执行查询的结果合并在一起