mm_mongodb 1.4.6 → 1.4.7
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 +23 -2
- package/compatibility_table.md +101 -64
- package/index.js +486 -194
- package/package.json +1 -1
- package/test2.js +22 -14
- package/test_redis_api.js +66 -0
- package/cache.js +0 -2866
package/package.json
CHANGED
package/test2.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
const {
|
|
1
|
+
const { MongoDB, mongoDB_admin } = require('./index.js');
|
|
2
2
|
|
|
3
3
|
async function test2() {
|
|
4
|
-
var mb =
|
|
4
|
+
var mb = mongoDB_admin("sys");
|
|
5
5
|
mb.setConfig();
|
|
6
6
|
// mb.open();
|
|
7
7
|
console.log(mb);
|
|
8
8
|
}
|
|
9
|
-
test2();
|
|
9
|
+
// test2();
|
|
10
10
|
|
|
11
11
|
/* 调用示例 */
|
|
12
12
|
async function test() {
|
|
13
13
|
console.log("测试开始");
|
|
14
14
|
// 实例化构造函数,传入服务器地址和数据库名
|
|
15
|
-
var mb = new
|
|
15
|
+
var mb = new MongoDB("localhost", "mm");
|
|
16
16
|
mb.setConfig();
|
|
17
17
|
|
|
18
18
|
await mb.open();
|
|
@@ -27,17 +27,19 @@ async function test() {
|
|
|
27
27
|
mb.table = "mm_table";
|
|
28
28
|
|
|
29
29
|
console.log("查询", mb.conn);
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
// 直接使用find方法查询数据
|
|
31
|
+
var ret = await mb.find({ name: '李四' });
|
|
32
|
+
console.log("查询李四", ret);
|
|
32
33
|
|
|
33
|
-
ret = await mb.
|
|
34
|
-
console.log("查询张三",ret);
|
|
34
|
+
ret = await mb.find({ name: '张三' });
|
|
35
|
+
console.log("查询张三", ret);
|
|
35
36
|
|
|
36
37
|
// 选择要操作的表
|
|
37
38
|
mb.table = 'mm_table';
|
|
38
39
|
|
|
39
40
|
// 添加一条数据
|
|
40
|
-
ret = await mb.
|
|
41
|
+
ret = await mb.addObj({
|
|
42
|
+
name: "张三",
|
|
41
43
|
age: 21,
|
|
42
44
|
sex: true
|
|
43
45
|
});
|
|
@@ -45,13 +47,19 @@ console.log("查询", mb.conn);
|
|
|
45
47
|
|
|
46
48
|
|
|
47
49
|
// 修改一条数据
|
|
48
|
-
ret = await mb.
|
|
50
|
+
ret = await mb.addObj({
|
|
51
|
+
name: "李四",
|
|
49
52
|
age: 24,
|
|
50
53
|
sex: false
|
|
51
54
|
});
|
|
52
|
-
console.log("
|
|
53
|
-
|
|
55
|
+
console.log("添加一条数据", ret);
|
|
56
|
+
|
|
57
|
+
// 查询
|
|
58
|
+
ret = await mb.find({ name: "张三" });
|
|
59
|
+
console.log("查询张三", ret);
|
|
60
|
+
|
|
61
|
+
// 关闭连接
|
|
62
|
+
await mb.close();
|
|
54
63
|
console.log("测试完成");
|
|
55
64
|
}
|
|
56
|
-
|
|
57
|
-
test();
|
|
65
|
+
test();
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const MongoDB = require('./index').MongoDB;
|
|
2
|
+
|
|
3
|
+
async function testRedisAPI() {
|
|
4
|
+
console.log('开始测试Redis兼容API...');
|
|
5
|
+
|
|
6
|
+
// 初始化数据库连接
|
|
7
|
+
const db = new MongoDB({
|
|
8
|
+
url: 'mongodb://localhost:27017',
|
|
9
|
+
dbName: 'test_db',
|
|
10
|
+
table: 'test_redis_cache'
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
try {
|
|
14
|
+
// 测试set方法
|
|
15
|
+
console.log('\n测试set方法:');
|
|
16
|
+
const setResult = await db.set('test_key1', 'Hello Redis!');
|
|
17
|
+
console.log('set结果:', setResult);
|
|
18
|
+
|
|
19
|
+
// 测试get方法
|
|
20
|
+
console.log('\n测试get方法:');
|
|
21
|
+
const getResult = await db.get('test_key1');
|
|
22
|
+
console.log('get结果:', getResult);
|
|
23
|
+
|
|
24
|
+
// 测试不存在的键
|
|
25
|
+
console.log('\n测试不存在的键:');
|
|
26
|
+
const notExistResult = await db.get('non_existent_key');
|
|
27
|
+
console.log('不存在键的get结果:', notExistResult);
|
|
28
|
+
|
|
29
|
+
// 测试add方法 - 添加新键
|
|
30
|
+
console.log('\n测试add方法(新键):');
|
|
31
|
+
const addResult1 = await db.add('test_key2', { name: 'MongoDB', type: 'database' });
|
|
32
|
+
console.log('add结果(新键):', addResult1);
|
|
33
|
+
|
|
34
|
+
// 测试add方法 - 添加已存在的键
|
|
35
|
+
console.log('\n测试add方法(已存在键):');
|
|
36
|
+
const addResult2 = await db.add('test_key1', 'This should not override');
|
|
37
|
+
console.log('add结果(已存在键):', addResult2);
|
|
38
|
+
|
|
39
|
+
// 验证test_key1的值没有被覆盖
|
|
40
|
+
console.log('\n验证test_key1未被覆盖:');
|
|
41
|
+
const verifyResult = await db.get('test_key1');
|
|
42
|
+
console.log('test_key1当前值:', verifyResult);
|
|
43
|
+
|
|
44
|
+
// 测试set方法更新已有键
|
|
45
|
+
console.log('\n测试set方法更新键:');
|
|
46
|
+
const updateResult = await db.set('test_key1', 'Updated value!');
|
|
47
|
+
console.log('set更新结果:', updateResult);
|
|
48
|
+
|
|
49
|
+
// 验证更新后的值
|
|
50
|
+
console.log('\n验证更新后的值:');
|
|
51
|
+
const updatedValue = await db.get('test_key1');
|
|
52
|
+
console.log('test_key1更新后的值:', updatedValue);
|
|
53
|
+
|
|
54
|
+
console.log('\n所有测试完成!');
|
|
55
|
+
} catch (error) {
|
|
56
|
+
console.error('测试过程中出现错误:', error);
|
|
57
|
+
} finally {
|
|
58
|
+
// 清理测试数据
|
|
59
|
+
await db.delete({ key: { $in: ['test_key1', 'test_key2'] } });
|
|
60
|
+
await db.close();
|
|
61
|
+
console.log('\n数据库连接已关闭,测试数据已清理');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// 运行测试
|
|
66
|
+
testRedisAPI();
|