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.
Files changed (2) hide show
  1. package/README.md +231 -2
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -1,2 +1,231 @@
1
- # mm_mongodb
2
- 这是超级美眉mongodb帮助函数模块,用于便捷操作mongodb,使用await方式,可以避免嵌套函数
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.2",
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.7.0",
34
- "mongodb": "^5.9.1"
33
+ "mm_expand": "^1.8.3",
34
+ "mongodb": "^6.15.0"
35
35
  }
36
36
  }