34 个稳定版本

1.7.8 2023 年 9 月 7 日
1.6.7 2023 年 6 月 18 日
1.3.25-beta 2022 年 12 月 21 日
1.2.1-beta 2022 年 11 月 27 日
0.12.24 2022 年 8 月 10 日

297数据库接口

Download history 26/week @ 2024-07-20 58/week @ 2024-07-27

84 每月下载量
用于 admin-gp

MIT/Apache

395KB
7K SLoC

Logo

绿色桶

Rust 的 ORM 类似 MongoDB API

为了模拟多对一和多对多的关系,使用了一种简化的替代方案(具有动态添加元素的类型选择字段)。

crates.io crates.io Green Barrel on docs.rs crates.io crates.io

注意

MongoDB 在 4.2、4.4、5.0、6.0 版本上进行了测试

要求

安装 mongodb(如果尚未安装)

点击链接 安装 MongoDB

用法

基本示例

示例测试

模型参数

(所有参数都是可选的)

参数 默认值 描述
db_query_docs_limit 1000 限制查询结果。
is_add_doc true 在数据库中创建文档。 false - 或者,使用它来验证来自网络表单的数据。
is_up_doc true 在数据库中更新文档。
is_del_doc true 从数据库中删除文档。
ignore_fields 空字符串 不包括在数据库中的字段(以逗号分隔)。
is_use_addition false 允许进行额外操作和额外验证的方法。
is_use_hooks false 允许钩子方法 - impl Hooks for ModelName

字段类型

见文档 -fields

开发者方法

主方法

  • hash()
  • set_hash()
  • obj_id()
  • set_obj_id()
  • created_at()
  • updated_at()

缓存

  • meta()
  • new()
  • json()
  • update_dyn_field()

控制

  • custom()

添加

  • add_actions()
  • add_validation()

钩子

  • pre_create()
  • post_create()
  • pre_update()
  • post_update()
  • pre_delete()
  • post_delete()

QCommons

  • create_index()
  • drop_index()
  • create_indexes()
  • drop_indexes()
  • aggregate()
  • count_documents()
  • delete_many()
  • delete_one()
  • distinct()
  • drop()
  • estimated_document_count()
  • find_many_to_doc_list()
  • find_many_to_json()
  • find_one_to_doc()
  • find_one_to_json()
  • find_one_to_instance()
  • find_one_and_delete()
  • collection_name()
  • namespace()

QPaladins

  • check()
  • save()
  • delete()
  • create_password_hash()
  • verify_password()
  • update_password()

Fixtures

  • 运行测试用例

变更日志

查看变更历史。

许可证

本项目受MIT和Apache Version 2.0许可证的许可。

依赖项

~34–48MB
~839K SLoC