mm_mongodb 1.4.2 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +231 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,2 +1,231 @@
|
|
|
1
|
-
# mm_mongodb
|
|
2
|
-
|
|
1
|
+
# mm_mongodb
|
|
2
|
+
|
|
3
|
+
这是超级美眉mongodb帮助函数模块,用于便捷操作mongodb,使用await方式,可以避免嵌套函数。
|
|
4
|
+
|
|
5
|
+
## 功能特点
|
|
6
|
+
|
|
7
|
+
- 支持异步/await操作,避免回调地狱
|
|
8
|
+
- 简化MongoDB的常用操作
|
|
9
|
+
- 支持数据库连接池
|
|
10
|
+
- 提供缓存操作扩展
|
|
11
|
+
- 支持基本的CRUD操作
|
|
12
|
+
|
|
13
|
+
## 安装
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install mm_mongodb
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 基础配置
|
|
20
|
+
|
|
21
|
+
### 默认配置
|
|
22
|
+
|
|
23
|
+
```javascript
|
|
24
|
+
const config = {
|
|
25
|
+
// 服务器地址
|
|
26
|
+
host: "localhost",
|
|
27
|
+
// 端口号
|
|
28
|
+
port: 27017,
|
|
29
|
+
// 数据库名
|
|
30
|
+
database: "mm",
|
|
31
|
+
// 用户名
|
|
32
|
+
user: "admin",
|
|
33
|
+
// 密码
|
|
34
|
+
password: "",
|
|
35
|
+
// 附加选项
|
|
36
|
+
options: {
|
|
37
|
+
useNewUrlParser: true,
|
|
38
|
+
useUnifiedTopology: true
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 基本使用
|
|
44
|
+
|
|
45
|
+
### 引入模块
|
|
46
|
+
|
|
47
|
+
```javascript
|
|
48
|
+
const { MongoDB, mongoDB_admin } = require('mm_mongodb');
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 创建连接
|
|
52
|
+
|
|
53
|
+
```javascript
|
|
54
|
+
// 方式1:直接实例化
|
|
55
|
+
const mb = new MongoDB("localhost", "mm");
|
|
56
|
+
mb.setConfig();
|
|
57
|
+
await mb.open();
|
|
58
|
+
|
|
59
|
+
// 方式2:使用管理器(推荐,支持连接池)
|
|
60
|
+
const mb = mongoDB_admin("sys");
|
|
61
|
+
mb.setConfig();
|
|
62
|
+
await mb.open();
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## API文档
|
|
66
|
+
|
|
67
|
+
### 数据库操作
|
|
68
|
+
|
|
69
|
+
#### open()
|
|
70
|
+
- 说明:连接数据库
|
|
71
|
+
- 返回:Promise对象,连接成功返回true
|
|
72
|
+
|
|
73
|
+
#### close()
|
|
74
|
+
- 说明:关闭数据库连接
|
|
75
|
+
|
|
76
|
+
#### setConfig(config)
|
|
77
|
+
- 说明:设置数据库配置
|
|
78
|
+
- 参数:
|
|
79
|
+
- config: Object|String - 配置对象或配置文件路径
|
|
80
|
+
|
|
81
|
+
### 表操作
|
|
82
|
+
|
|
83
|
+
#### addTable(table)
|
|
84
|
+
- 说明:创建数据表
|
|
85
|
+
- 参数:
|
|
86
|
+
- table: String - 表名
|
|
87
|
+
- 返回:Promise对象
|
|
88
|
+
|
|
89
|
+
### 数据操作
|
|
90
|
+
|
|
91
|
+
#### addObj(obj)
|
|
92
|
+
- 说明:添加一条数据
|
|
93
|
+
- 参数:
|
|
94
|
+
- obj: Object - 要添加的对象
|
|
95
|
+
- 返回:Promise对象
|
|
96
|
+
|
|
97
|
+
#### addList(list)
|
|
98
|
+
- 说明:批量添加数据
|
|
99
|
+
- 参数:
|
|
100
|
+
- list: Array - 对象数组
|
|
101
|
+
- 返回:Promise对象
|
|
102
|
+
|
|
103
|
+
#### del(query)
|
|
104
|
+
- 说明:删除数据
|
|
105
|
+
- 参数:
|
|
106
|
+
- query: Object - 查询条件
|
|
107
|
+
- 返回:Promise对象
|
|
108
|
+
|
|
109
|
+
#### set(query, body)
|
|
110
|
+
- 说明:修改数据
|
|
111
|
+
- 参数:
|
|
112
|
+
- query: Object - 查询条件
|
|
113
|
+
- body: Object - 修改内容
|
|
114
|
+
- 返回:Promise对象
|
|
115
|
+
|
|
116
|
+
#### get(query)
|
|
117
|
+
- 说明:查询数据
|
|
118
|
+
- 参数:
|
|
119
|
+
- query: Object - 查询条件
|
|
120
|
+
- 返回:Promise对象,返回数组
|
|
121
|
+
|
|
122
|
+
## 使用示例
|
|
123
|
+
|
|
124
|
+
### 基本CRUD操作
|
|
125
|
+
|
|
126
|
+
```javascript
|
|
127
|
+
const { MongoDB } = require('mm_mongodb');
|
|
128
|
+
|
|
129
|
+
async function test() {
|
|
130
|
+
// 实例化构造函数
|
|
131
|
+
const mb = new MongoDB("localhost", "mm");
|
|
132
|
+
mb.setConfig();
|
|
133
|
+
|
|
134
|
+
// 连接数据库
|
|
135
|
+
await mb.open();
|
|
136
|
+
|
|
137
|
+
try {
|
|
138
|
+
// 创建数据表
|
|
139
|
+
await mb.addTable('mm_table');
|
|
140
|
+
|
|
141
|
+
// 添加单条数据
|
|
142
|
+
let ret = await mb.addObj({
|
|
143
|
+
name: "张三",
|
|
144
|
+
age: 21,
|
|
145
|
+
sex: true
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
// 批量添加数据
|
|
149
|
+
ret = await mb.addList([{
|
|
150
|
+
name: "李四",
|
|
151
|
+
age: 18,
|
|
152
|
+
sex: false
|
|
153
|
+
}, {
|
|
154
|
+
name: "王五",
|
|
155
|
+
age: 15,
|
|
156
|
+
sex: true
|
|
157
|
+
}]);
|
|
158
|
+
|
|
159
|
+
// 查询数据
|
|
160
|
+
ret = await mb.get({
|
|
161
|
+
name: '李四'
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
// 修改数据
|
|
165
|
+
ret = await mb.set(
|
|
166
|
+
{ name: '李四' },
|
|
167
|
+
{ age: 20 }
|
|
168
|
+
);
|
|
169
|
+
|
|
170
|
+
// 删除数据
|
|
171
|
+
ret = await mb.del({
|
|
172
|
+
name: '王五'
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
} catch (e) {
|
|
176
|
+
console.error(e);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// 关闭连接
|
|
180
|
+
mb.close();
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### 缓存操作扩展
|
|
185
|
+
|
|
186
|
+
```javascript
|
|
187
|
+
const { Mongodb_cache, mongodb_cache_admin } = require('mm_mongodb/cache');
|
|
188
|
+
|
|
189
|
+
async function test() {
|
|
190
|
+
const mb = new Mongodb_cache("localhost", "mm");
|
|
191
|
+
mb.setConfig();
|
|
192
|
+
await mb.open();
|
|
193
|
+
|
|
194
|
+
try {
|
|
195
|
+
// 添加缓存
|
|
196
|
+
await mb.add("user:1", {
|
|
197
|
+
name: "张三",
|
|
198
|
+
age: 21
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
// 获取缓存
|
|
202
|
+
const data = await mb.get("user:1");
|
|
203
|
+
|
|
204
|
+
// 设置缓存(带过期时间)
|
|
205
|
+
await mb.set("temp:1", "临时数据", 3600); // 1小时后过期
|
|
206
|
+
|
|
207
|
+
// 删除缓存
|
|
208
|
+
await mb.del("user:1");
|
|
209
|
+
|
|
210
|
+
} catch (e) {
|
|
211
|
+
console.error(e);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
mb.close();
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## 注意事项
|
|
219
|
+
|
|
220
|
+
1. 使用前请确保MongoDB服务已启动
|
|
221
|
+
2. 建议使用try-catch处理可能的异常
|
|
222
|
+
3. 操作完成后记得关闭连接
|
|
223
|
+
4. 推荐使用连接池管理器(mongoDB_admin)来创建实例
|
|
224
|
+
|
|
225
|
+
## 许可证
|
|
226
|
+
|
|
227
|
+
ISC License
|
|
228
|
+
|
|
229
|
+
## 作者
|
|
230
|
+
|
|
231
|
+
qww
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mm_mongodb",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "这是超级美眉mongdb帮助函数模块,用于便捷操作mongdb,使用await方式,可以避免嵌套函数",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"homepage": "https://github.com/qiuwenwu/mm_mongodb#readme",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"mm_expand": "^1.
|
|
34
|
-
"mongodb": "^
|
|
33
|
+
"mm_expand": "^1.8.3",
|
|
34
|
+
"mongodb": "^6.15.0"
|
|
35
35
|
}
|
|
36
36
|
}
|