我有一个关于FireBase的firestore db的问题。
我有一个文档X,它包含一个名为users的字段,它是一个对象,引用了users集合中的用户。
它看起来与此类似:
families: [{
xyz: {
name:'foobar',
users: {
john: 'users/john', //reference to another document
mike: 'users/mike' //reference to another document
}
}
},
...]
我如何查询firestore db以获得所有的文档(来自家庭集合),这些文档的用户名为'john'?
我没有运气地尝试了以下几点:
db.collection('families')
.where('users.john', '<', '')
但它只返回一个空数组。
如果我将用户的条目从key:reference切换到key:string对象,它就可以工作。但我想用折射而不是弦。
Firestore没有提供查询字段简单存在性的方法。它用于查找文档的索引基于属性的值。现在,您的值是文档引用,因此您只能根据它们的引用值进行查询。
如果您想知道某个东西是否存在于文档中,您可以为它创建一个带有布尔值的新字段。然后您可以查询它是否正确。
families: [{
xyz: {
name:'foobar',
users: {
john: 'users/john', //reference to another document
mike: 'users/mike' //reference to another document
},
users_exists: {
john: true,
mike: true
}
}
},
有了上面的users_exists,现在您可以这样查询:
db.collection('families')
.where('users_exists.john', '==', true)
NoSQL数据建模的一般规则是以任何适合您想要执行的查询的方式进行。有时这涉及到复制数据以适应那些查询。
我正在寻找允许我查询集合的Java库。我偶然发现了jFilter an JoSql。 然而,JoSql似乎自2010年以来一直处于非活动状态,只有2个版本。jFilter似乎相当新,自去年以来没有任何新版本。 当谷歌搜索它们中的任何一个时,搜索结果的数量很少,这向我表明它们没有被广泛使用。 你对这些图书馆有什么建议,或者知道更多的活动吗?
问题内容: 假设Student是继承层次结构中的父类,该继承层次结构包含ComputerScienceStudent和ITStudent。Student定义了一个名为favoriteColors的字段,它是一个值类型的String集合。使用标准API,我想查询所有将“蓝色”列为其最喜欢的颜色之一的学生。 这是相关的Java代码段 我查看了http://docs.jboss.org/hibernat
模板实体: 工作流实体: 指挥实体:
问题内容: 我没有MS SQL(SQL Express 2008)的“完整”版本,所以我没有探查器工具。 我想查看由我的实体框架代码生成的SQL,但是我发现的所有示例都使用了 语法类型;但我的大部分查询更像是.. 语法类型。如何查看通过这种编码方式生成的SQL?有任何想法吗? 问题答案: Express Edition是否支持扩展事件?如果是这样,它将以类似于Profiler的方式捕获语句并sp完
问题内容: 我有一些复杂的对象,例如猫,它具有许多属性,例如年龄,喜爱的猫食等等。 Java集中存储了一堆猫,我需要查找所有3岁的猫,或者最喜欢猫粮的Whiskas。当然,我可以编写一个自定义方法来查找那些具有特定属性的Cat,但是这样做会麻烦许多属性。有一些通用的方法吗? 问题答案: 您可以编写一个采用接口实例的方法,该实例定义了一个方法,该方法可以通过所需的任何属性检查来实现。 更好的是,使其
我有一个实体,包含s的嵌入式集合。 我想找到集合中与给定参数(字符串)匹配的所有s。 我想在JPQL中实现的一些伪代码: 但是,当我尝试此查询时: 它抛出: 我希望避免使用需要连接多个表的解决方案。这是伪代码,但实际查询中充满了大量复杂的大型企业sql where或and语句。所以越少加入越好。