Browse Source

chore: updates README.md

e22m4u 2 years ago
parent
commit
93c2afafcb
81 changed files with 86 additions and 0 deletions
  1. 63 0
      README.md
  2. 0 0
      docs/classes/Adapter.html
  3. 0 0
      docs/classes/AdapterLoader.html
  4. 0 0
      docs/classes/AdapterRegistry.html
  5. 0 0
      docs/classes/BelongsToResolver.html
  6. 0 0
      docs/classes/DatasourceDefinitionValidator.html
  7. 0 0
      docs/classes/DefinitionRegistry.html
  8. 0 0
      docs/classes/FieldsClauseTool.html
  9. 0 0
      docs/classes/HasManyResolver.html
  10. 0 0
      docs/classes/HasOneResolver.html
  11. 0 0
      docs/classes/IncludeClauseTool.html
  12. 0 0
      docs/classes/InvalidArgumentError.html
  13. 0 0
      docs/classes/InvalidOperatorValueError.html
  14. 0 0
      docs/classes/ModelDataSanitizer.html
  15. 0 0
      docs/classes/ModelDataValidator.html
  16. 0 0
      docs/classes/ModelDefinitionUtils.html
  17. 0 0
      docs/classes/ModelDefinitionValidator.html
  18. 0 0
      docs/classes/NotImplementedError.html
  19. 0 0
      docs/classes/OperatorClauseTool.html
  20. 0 0
      docs/classes/OrderClauseTool.html
  21. 0 0
      docs/classes/PrimaryKeysDefinitionValidator.html
  22. 0 0
      docs/classes/PropertiesDefinitionValidator.html
  23. 0 0
      docs/classes/ReferencesManyResolver.html
  24. 0 0
      docs/classes/RelationsDefinitionValidator.html
  25. 0 0
      docs/classes/Repository.html
  26. 0 0
      docs/classes/RepositoryRegistry.html
  27. 0 0
      docs/classes/Schema.html
  28. 0 0
      docs/classes/SliceClauseTool.html
  29. 0 0
      docs/classes/WhereClauseTool.html
  30. 0 0
      docs/enums/DataType.html
  31. 0 0
      docs/enums/RelationType.html
  32. 0 0
      docs/functions/capitalize.html
  33. 0 0
      docs/functions/cloneDeep.html
  34. 0 0
      docs/functions/excludeObjectKeys.html
  35. 0 0
      docs/functions/getCtorName.html
  36. 0 0
      docs/functions/getValueByPath.html
  37. 0 0
      docs/functions/isCtor.html
  38. 0 0
      docs/functions/isPureObject.html
  39. 0 0
      docs/functions/selectObjectKeys.html
  40. 0 0
      docs/functions/singularize.html
  41. 0 0
      docs/functions/stringToRegexp.html
  42. 23 0
      docs/index.html
  43. 0 0
      docs/interfaces/AndClause.html
  44. 0 0
      docs/interfaces/OrClause.html
  45. 0 0
      docs/types/AnyObject.html
  46. 0 0
      docs/types/BelongsToDefinition.html
  47. 0 0
      docs/types/DEFAULT_PRIMARY_KEY_PROPERTY_NAME.html
  48. 0 0
      docs/types/DatasourceDefinition.html
  49. 0 0
      docs/types/FieldsClause.html
  50. 0 0
      docs/types/FilterClause.html
  51. 0 0
      docs/types/Flatten.html
  52. 0 0
      docs/types/FullPropertyDefinition.html
  53. 0 0
      docs/types/HasManyDefinition.html
  54. 0 0
      docs/types/HasOneDefinition.html
  55. 0 0
      docs/types/Identity.html
  56. 0 0
      docs/types/IncludeClause.html
  57. 0 0
      docs/types/ItemFilterClause.html
  58. 0 0
      docs/types/ModelData.html
  59. 0 0
      docs/types/ModelDefinition.html
  60. 0 0
      docs/types/ModelId.html
  61. 0 0
      docs/types/NestedIncludeClause.html
  62. 0 0
      docs/types/NormalizedFieldsClause.html
  63. 0 0
      docs/types/NormalizedIncludeClause.html
  64. 0 0
      docs/types/OperatorClause.html
  65. 0 0
      docs/types/OptionalUnlessRequiredId.html
  66. 0 0
      docs/types/OrderClause.html
  67. 0 0
      docs/types/PartialBy.html
  68. 0 0
      docs/types/PartialWithoutId.html
  69. 0 0
      docs/types/PolyBelongsToDefinition.html
  70. 0 0
      docs/types/PolyHasManyDefinitionWithTargetKeys.html
  71. 0 0
      docs/types/PolyHasManyDefinitionWithTargetRelationName.html
  72. 0 0
      docs/types/PolyHasOneDefinitionWithTargetKeys.html
  73. 0 0
      docs/types/PolyHasOneDefinitionWithTargetRelationName.html
  74. 0 0
      docs/types/PropertiesClause.html
  75. 0 0
      docs/types/PropertyDefinition.html
  76. 0 0
      docs/types/PropertyDefinitionMap.html
  77. 0 0
      docs/types/ReferencesManyDefinition.html
  78. 0 0
      docs/types/RelationDefinition.html
  79. 0 0
      docs/types/RelationDefinitionMap.html
  80. 0 0
      docs/types/WhereClause.html
  81. 0 0
      docs/types/WithoutId.html

+ 63 - 0
README.md

@@ -259,6 +259,69 @@ schema.defineModel({
 - `hasMany` - обратная сторона `belongsTo` по принципу "один ко многим"
 - `referencesMany` - документ содержит массив с идентификаторами целевой модели
 
+## Фильтрация
+
+Некоторые методы репозитория принимают объект настроек влияющий
+на возвращаемый результат. Максимально широкий набор таких настроек
+имеет первый параметр метода `find`, где ожидается объект содержащий
+набор опций указанных ниже.
+
+- `where: object` объект выборки
+- `order: string[]` указание порядка
+- `limit: number` ограничение количества документов
+- `skip: number` пропуск документов
+- `fields: string[]` выбор необходимых полей документа
+- `include: object` включение связанных данных в результат (см. Связи)
+
+### where
+
+Параметр является объектом условий выборки и поддерживает широкий
+набор операторов сравнения.
+
+`{prop: 'bar'}` поиск по значению поля `prop`  
+`{prop: {eq: 'bar'}}` оператор равенства `eq`  
+`{prop: {neq: 'bar'}}` оператор неравенства `neq`  
+`{prop: {gt: 5}}` оператор "больше" `gt`  
+`{prop: {lt: 10}}` оператор "меньше" `lt`  
+`{prop: {gte: 5}}` оператор "больше или равно" `gte`  
+`{prop: {lte: 10}}` оператор "меньше или равно" `lte`  
+`{prop: {inq: ['bar', 'baz']}}` равенство одного из значений `inq`  
+`{prop: {nin: ['bar', 'baz']}}` исключение значений массива `nin`  
+`{prop: {between: [5, 10]}}` оператор диапазона `between`  
+`{prop: {exists: true}}` оператор наличия значения `exists`  
+`{prop: {like: 'bar'}}` оператор поиска подстроки `like`  
+`{prop: {ilike: 'BaR'}}` регистронезависимая версия `ilike`  
+`{prop: {nlike: 'bar'}}` оператор исключения подстроки `nlike`  
+`{prop: {nilike: 'BaR'}}` регистронезависимая версия `nilike`  
+`{prop: {regexp: 'ba.+'}}` оператор регулярного выражения `regexp`  
+`{prop: {regexp: 'ba.+', flags: 'i'}}` флаги регулярного выражения
+
+Условия можно объединить операторами `and`, `or` и `nor`.
+
+**Пример**
+
+Подсчет документов методом `count` согласно условиям выборки.
+
+```js
+const count = await rep.count({
+  authorId: 251,
+  publishedAt: {
+    lte: '2023-12-02T14:00:00.000Z',
+  },
+});
+```
+
+Удаление документов методом `delete` с применением оператора `or`
+
+```js
+const count = await rep.delete({
+  or: [
+    {sent: false},
+    {title: {like: 'draft'}},
+  ],
+});
+```
+
 ## Тесты
 
 ```bash

File diff suppressed because it is too large
+ 0 - 0
docs/classes/Adapter.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/AdapterLoader.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/AdapterRegistry.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/BelongsToResolver.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/DatasourceDefinitionValidator.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/DefinitionRegistry.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/FieldsClauseTool.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/HasManyResolver.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/HasOneResolver.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/IncludeClauseTool.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/InvalidArgumentError.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/InvalidOperatorValueError.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/ModelDataSanitizer.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/ModelDataValidator.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/ModelDefinitionUtils.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/ModelDefinitionValidator.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/NotImplementedError.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/OperatorClauseTool.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/OrderClauseTool.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/PrimaryKeysDefinitionValidator.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/PropertiesDefinitionValidator.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/ReferencesManyResolver.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/RelationsDefinitionValidator.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/Repository.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/RepositoryRegistry.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/Schema.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/SliceClauseTool.html


File diff suppressed because it is too large
+ 0 - 0
docs/classes/WhereClauseTool.html


File diff suppressed because it is too large
+ 0 - 0
docs/enums/DataType.html


File diff suppressed because it is too large
+ 0 - 0
docs/enums/RelationType.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/capitalize.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/cloneDeep.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/excludeObjectKeys.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/getCtorName.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/getValueByPath.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/isCtor.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/isPureObject.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/selectObjectKeys.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/singularize.html


File diff suppressed because it is too large
+ 0 - 0
docs/functions/stringToRegexp.html


File diff suppressed because it is too large
+ 23 - 0
docs/index.html


File diff suppressed because it is too large
+ 0 - 0
docs/interfaces/AndClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/interfaces/OrClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/AnyObject.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/BelongsToDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/DEFAULT_PRIMARY_KEY_PROPERTY_NAME.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/DatasourceDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/FieldsClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/FilterClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/Flatten.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/FullPropertyDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/HasManyDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/HasOneDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/Identity.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/IncludeClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/ItemFilterClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/ModelData.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/ModelDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/ModelId.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/NestedIncludeClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/NormalizedFieldsClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/NormalizedIncludeClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/OperatorClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/OptionalUnlessRequiredId.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/OrderClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PartialBy.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PartialWithoutId.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PolyBelongsToDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PolyHasManyDefinitionWithTargetKeys.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PolyHasManyDefinitionWithTargetRelationName.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PolyHasOneDefinitionWithTargetKeys.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PolyHasOneDefinitionWithTargetRelationName.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PropertiesClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PropertyDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/PropertyDefinitionMap.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/ReferencesManyDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/RelationDefinition.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/RelationDefinitionMap.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/WhereClause.html


File diff suppressed because it is too large
+ 0 - 0
docs/types/WithoutId.html


Some files were not shown because too many files changed in this diff