<template>
<div>这是数据库:{{ data.name }}</div>
</template>
<script setup>
import axios from 'axios'
import nedb from 'newdb'
let data = reactive({
name: ''
})
// 创建多个数据库
let db = {}
db.users = new nedb({
filename: '/data/users.db',
autoload: true
})
db.robots = new nedb({
filename: '/data/robots.db',
autoload: true
})
// 设置id是唯一索引
db.robots.ensureIndex({ fieldName: 'id', unique: true }, function (err) {
// If there was an error, err is not null
})
onMounted(() => {
// console.log('---:', axios)
axios('http://jsonplaceholder.typicode.com/photos').then(res => {
console.log('---:', res.data)
let resultList = res.data
console.timeEnd('resultList:')
resultList.map((item, index) => {
item.id = 5001 + index
})
console.timeEnd('resultList:')
console.log('resultList----:', resultList)
console.time('插入5000条数据')
db.robots.insert(resultList, function (err, ret) {
console.log('err:', err)
if (ret?.length) {
console.log('插入成功', ret)
console.timeEnd('插入5000条数据')
}
})
})
console.log('ddd')
// 创建单个数据库
// const db = new nedb({
// filename: '/data/save.db',
// autoload: true,
// })
/**
* 查询所有 - {}
*/
// db.users.find({}, function (err, all) {
// console.log(all,'all')
// })
// db.robots.update({ a: 55555 }, { $set: { a: '5a', b: 66666, id: 19999 } }, { multi: true }, function (err, numReplaced) {
// // console.log('update err:', err)
// console.log('update numReplaced:', numReplaced)
// })
// { b: 9, id: 1 }
console.time('查询5000条数据')
db.robots.find({}, function (err, all) {
console.log(all, 'all')
console.timeEnd('查询5000条数据')
})
// 查询id = 3 的一条数据
console.time('id = 3 的')
db.robots.findOne({ id: 3 }, (err, ret) => {
console.log(ret, 'finde')
console.timeEnd('id = 3 的')
data.name = ret?.b
})
// 统计b=9的数量
/* db.robots.count({ b: 9 }, function (err, count) {
console.log('count:', count)
}) */
/**
* 查询,比较复杂,还有很多条件
*/
// 查询 a = 42 的第一条数据
// db.find({a:42}, function (err, docs) {
// console.log(docs,'删除之前')
// })
/**
* 删除操作相关(全)
*/
// 删除a = 42 的一条记录
// db.remove({ a: 111111}, {
// // multi: true //开启为多条
// }, function (err, numRemoved) {
// // numRemoved = 1 代表删除成功
// console.log(numRemoved)
// })
// 删除所有记录
// db.remove({}, { multi: true }, function (err, numRemoved) {
// })
})
</script>