我正在尝试在Firestore查询中实现逻辑OR运算符。
db.collection('users').where('company_id', '==', companyId)
.where('role', '==', 'Maker')
.where('role', '==', 'Checker')
.where('role', '==', 'Approver')
.get().then(function(adminsSnapshot){
//Some processing on dataSnapshot
})
但这不是实现OR的正确方法。
我希望所有具有“制造商,检查者或批准者”角色的用户。
如何在Firestore查询中实施OR?Doc中没有任何内容。
编辑(2019年11月) 现在,CloudFirestore支持“IN”查询(公告),该查询使您可以执行一种OR查询,以查找具有相同字段中几个值之一的文档。
例如,上面的查询:
db.collection('users')
.where('company_id', '==', companyId)
.where('role', 'in', ['Maker', 'Checker', 'Approver']);
原始答案
CloudFirestore中没有“或”查询。如果要在单个查询中实现此目的,则需要一个单个字段,例如maker_or_checker_or_approver:true
。
当然,您始终可以执行三个查询并将其加入客户端。
最近我一直在玩Geohash和FiRecovery。我的待办事项场景是收集文档(餐厅),每个餐厅都会有发送到的Geohash列表。 我想避免在文档餐厅中添加地理位置,因为文档可能比它应该的大很多倍。 最初的想法是将所有地理哈希都放在餐厅文档的子集合中,但我发现不可能在文档的子集合中执行查询。 第二个想法是将Geohash提取到交付区域集合的顶层。 这个场景中的问题是,我将返回一个餐厅名称列表,然后
我将如何实现或在firestore查询?医生身上什么都没有。
我正在使用elasticsearch从json文件中过滤和搜索,我是这项技术的新手。所以我有点困惑如何在ElasticSearch中编写查询。 这是oracle查询。如何在ElasticSearch中编写此查询?我使用的是elasticsearch版本6.8.13
问题内容: 基本上,我试图从基于两个不同组的SQL中获取数据,必须相等并且必须相等,但是至于我想要同时获得和,这是我尝试的无济于事。 我很确定他们的方法可以使此查询正常工作,只是不在我脑海 问题答案: 具有比更高的优先级,因此您现有的表达式当前被评估为: 要强制使用替代逻辑,需要包括显式括号: 但是,在这种情况下,可以使用MySQL的运算符代替:
根据firestore文档,我可以通过组合'>'和'<'查询来执行相当于‘!='的查询: 但我到底该怎么做呢?如果可能,请提供精确示例的代码(查询结果!=30)。
问题内容: 对于相当简单的表结构,即。 ie. Person, Criteria, and PersonCriteria (the combi-table),我现在设置了一个查询,以选择具有所有选定条件的所有人员。 此刻查询本身看起来像这样: 到目前为止,没有问题,一切正常。 现在,我想为用户提供在搜索中添加一些AND和OR变量的可能性。有人会说: 我正在寻找一个拥有以下条件的人:条件1 AND