如何通过数据属性查询(不列出)子数据库
How To Query (Not List) Child Databases By Data Properties
有没有办法通过数据属性(即通过索引)查询子数据库?在多租户场景中,我们最终会得到大量的子数据库,如果能够查询它们就太好了,例如(此版本的子数据库、待关闭的子数据库等)
谢谢
与 FaunaDB 中的其他对象一样,可以使用任意用户数据创建数据库,即 CreateDatabase({name: "bob", data:{prop: "cool"}})
。这些用户数据也可以像其他任何东西一样被索引。示例 shell 会话:
myDb> Get(Index("by_prop"))
{ ref: Index("by_prop"),
ts: 1560970634960000,
active: true,
partitions: 1,
name: 'by_prop',
source: Databases(),
terms: [ { field: [ 'data', 'prop' ] } ] }
myDb> Get(Database("bob"))
{ ref: Database("bob"),
ts: 1560970374730000,
name: 'bob',
data: { prop: 'cool' } }
myDb> Paginate(Match(Index("by_prop"), "cool"))
{ data: [ Database("bob") ] }
使用术语超过 data.prop
的索引,我可以匹配我感兴趣的数据库。术语/值的选择是任意的,可以是对您的应用程序有意义的任何内容。
有没有办法通过数据属性(即通过索引)查询子数据库?在多租户场景中,我们最终会得到大量的子数据库,如果能够查询它们就太好了,例如(此版本的子数据库、待关闭的子数据库等)
谢谢
与 FaunaDB 中的其他对象一样,可以使用任意用户数据创建数据库,即 CreateDatabase({name: "bob", data:{prop: "cool"}})
。这些用户数据也可以像其他任何东西一样被索引。示例 shell 会话:
myDb> Get(Index("by_prop"))
{ ref: Index("by_prop"),
ts: 1560970634960000,
active: true,
partitions: 1,
name: 'by_prop',
source: Databases(),
terms: [ { field: [ 'data', 'prop' ] } ] }
myDb> Get(Database("bob"))
{ ref: Database("bob"),
ts: 1560970374730000,
name: 'bob',
data: { prop: 'cool' } }
myDb> Paginate(Match(Index("by_prop"), "cool"))
{ data: [ Database("bob") ] }
使用术语超过 data.prop
的索引,我可以匹配我感兴趣的数据库。术语/值的选择是任意的,可以是对您的应用程序有意义的任何内容。