Как сделать запрос (не список) дочерних баз данных по свойствам данных - PullRequest
5 голосов
/ 20 июня 2019

Есть ли способ запрашивать дочерние базы данных по свойствам данных, то есть через индекс? В сценариях с несколькими арендаторами мы можем получить тонну дочерних баз данных, и было бы очень хорошо иметь возможность запрашивать их, например. (дочерние базы данных в этой версии, дочерние базы данных, ожидающие закрытия и т. д.)

Спасибо

1 Ответ

5 голосов
/ 20 июня 2019

Как и другие объекты в FaunaDB, базы данных могут быть созданы с произвольными пользовательскими данными, т.е. CreateDatabase({name: "bob", data:{prop: "cool"}}). Эти данные пользователя также могут быть проиндексированы, как и все остальное. Пример сеанса оболочки:

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, я могу сопоставить интересующую меня базу данных. Выбор термина / значения является произвольным и может быть любым, что имеет смысл для вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...