更新记录

1.1.0(2021-12-22)

新增类型文件

1.0.1(2021-12-22)

不支持vue2

1.0.0(2021-12-22)

集成vue3自动依赖收集的内存mongo版本

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

hj-mongo-vue3

用于Vue3的mongo封装,集成vue的响应式实现

用法基本一样,见例子。

Api

insert/upsert/remove/find/findOne

新增1 liveQuery=>返回的是一个满足selector的数组

新增2 liveQueryOne=>返回的是一个满足选择器的对象

import {
    useLocalMongo
} from "./uni_modules/hj-mongo-vue3/js_sdk";
const db = useLocalMongo("test-v3");

Users.insert({
    _id: 1,
    a: 1,
});
Users.insert({
    _id: 1,
    a: 1,
});
Users.insert({
    _id: 2,
    a: 3,
});

// Users 集合有两条数据,因为插入相同_id实际上是执行的更新操作

import {
    watchEffect,
    watch,
    computed 
} from "vue";
// 这个user是一个动态的计算属性
const user = Users.liveQueryOne({
    _id: 1
})
// 检查上面那个user的响应性
watch(user, (nv, ov) => {
    console.log(({
        nv,
        ov
    }))
}, {
    immediate: true
})
//利用watchEffect进行依赖手机,适合于复杂场景,不然liveQuery就够了哇
watchEffect(() => {
    const user = Users.findOne({
        a: 1,
    });
    setTimeout(() => {
        console.error(user);
    }, 500);
});
// 延迟更新,检查响应性
// 触发发watchEffect 和 watch
setTimeout(() => {
    Users.upsert({
        _id: 1,
    }, {
        $set: {
            b: 2,
        },
    });
}, 1000);

// 不触发发watchEffect 和 watch
setTimeout(() => {
    Users.upsert({
        _id: 2,
    }, {
        $set: {
            b: 2,
        },
    });
}, 2000);

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问