daffie / mongodb
MongoDB的Drupal数据库驱动程序
dev-master
2021-11-08 11:32 UTC
Requires
- daffie/sql-like-to-regular-expression: dev-master
- mongodb/mongodb: ^1.8
This package is auto-updated.
Last update: 2024-09-30 01:22:52 UTC
README
此项目仍在全面开发中,尚未准备好用于生产环境!
此项目旨在与Drumongous项目(https://gitlab.com/daffie/drumongous)一起使用。Drumongous项目是Drupal核心项目,包含一个补丁文件,用于进行所有必要的更改以使其正常工作。
需求
- MongoDB数据库版本3.6或更高。
- MongoDB的PHP扩展版本1.5或更高。
安装
如果您想试用此软件,请运行以下命令
composer create-project daffie/drumongous:8.x-dev my_site_name_dir
cd my_site_dir
composer install
在MongoDB上使用Drupal时的关键点
- 此项目需要MongoDB的PHP扩展版本1.5。
- 驱动程序将每个实体实例的所有内容实体数据存储在一个单独的文档中。所有实体数据包括所有修订数据、所有可翻译数据和所有字段数据。所有实体数据都存储在集合中的单个文档中。MongoDB集合中的单个文档在关系型数据库的表中对应于单行。
- 支持Drupal数据库API,并实现了PDO语句接口。
- 支持Drupal实体API。
- 支持Drupal实体搜索API,除了关系部分。
- 支持Drupal视图模块。由于底层表结构不同,某些功能的工作方式略有不同。此外,MongoDB不支持某些日期转换选项。
- MongoDB不支持SQL。它有自己的查询语言。在SQL中,所有内容都以字符串的形式编写。您可以混合字符"4"和整数4,而不会出现任何问题。在MongoDB中,您不能这样做。此外,Drupal数据库抽象层中所有接受SQL字符串作为输入的方法均不受支持。(例如db_query()和db_select->where())
- 此项目以MongoDB首选的BSON类型存储数据(参见:https://docs.mongodb.com/manual/reference/bson-types/)。这与Drupal项目选择不同
| 类型 | Drupal | MongoDB |
|---|---|---|
| 布尔值 | 整数 | 布尔值 |
| 日期 | 整数 | UTCDateTime对象(以毫秒为单位) |
| 数字 | 小数 | 小数128对象 |