更新记录
1.1.0(2021-12-22) 下载此版本
新增类型文件
1.0.1(2021-12-22) 下载此版本
不支持vue2
1.0.0(2021-12-22) 下载此版本
集成vue3自动依赖收集的内存mongo版本
查看更多平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
- | √ | - | - | √ | - | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
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);