如何按ID ndb.query设置过滤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何按ID ndb.query设置过滤相关的知识,希望对你有一定的参考价值。

我尝试过滤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过滤?

答案

您无法使用单个查询执行此操作。那是因为如果你创建一个祖先查询,你只会从祖先实体组中获得结果,如果你不进行祖先查询,你将只获得没有祖先的实体。所有这些查询都会产生不重叠的结果。

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

  • 获取感兴趣的祖先键(可能使用查询)
  • 为每个获得的祖先密钥执行一个祖先查询
  • 如果您寻找的实体可能没有祖先,也会执行非祖先查询
  • 结合上面提到的所有执行查询的结果

以上是关于如何按ID ndb.query设置过滤的主要内容,如果未能解决你的问题,请参考以下文章

Magento 2:如何按商店ID过滤产品集合

用片段替换某些东西

Mongoose 聚合查找 - 如何按特定 id 过滤

sql 如何过滤重复记录

如何使用 jq 按元素属性值过滤对象数组?

如何按多列过滤数据框?