我需要从BaaS数据存储中获取所有与条件
不匹配的记录我使用查询字符串,如:
https://api.usergrid.com/<org>/<app>/<collection>?ql=location within 10 of 30.494697,50.463509 and Partnership eq 'Reject'
工作正常(我不会在ql之后对字符串进行编码)。
但任何尝试放置&#34;不是&#34;在此查询中导致&#34;无法解析查询&#34;。 此外,我尝试使用&lt;&gt ;,!=,NE和一些变体&#34; not&#34;
如何配置查询以获取范围内的所有记录但是伙伴关系不等于“拒绝”#39; ?
答案 0 :(得分:0)
您应该可以使用以下语法:
https://api.usergrid.com/<org>/<app>/<collection>?ql=location within 10 of 30.494697,50.463509 and not Partnership eq 'Reject'
请注意,not
运算符位于表达式之前(如docs所示)。
答案 1 :(得分:0)
不支持操作,但不具备性能,因为它需要完整扫描。当与地理定位呼叫结合使用时,它可能会非常慢。我们正在努力在Usergrid核心中改进它。
话虽如此,一般情况下,如果可能的话,反转呼叫要好得多。例如,不是在case为true时添加属性,而是始终将属性写入每个新实体(即使为false),然后在case为true时编辑该属性。
而不是这样做:
POST { &#39;名称&#39;:&#39;弗雷德&#39; }
PUT { &#39;名称&#39;:&#39;弗雷德&#39; &#39; had_cactus_cooler&#39;:真 }
这样做: POST { &#39;名称&#39;:&#39;弗雷德&#39; &#39; had_cactus_cooler&#39;:&#39;无&#39; }
PUT { &#39;名称&#39;:&#39;弗雷德&#39; &#39; had_cactus_cooler&#39;:&#39;是&#39; }
一般情况下,尝试按照您想要的方式放置数据。由于您事先知道要查询此属性是否存在,因此只需添加它,但使用负值。当条件成立时更新它。