//#region 使用案例
//创建数据库,并添加索引
// db.version(1).stores({
// users: "++id,name,age,[age]" // 为age字段添加索引
// });
//import { db} from '@project/db.js'
//条件更新
//await db.messages.where({ name: "John" }).modify({ age: 30 });
//新增1条数据
//await db.messages.add(obj)
//修改1条数据 要带上主键 如id
//await db.messages.put(obj)
//删除数据
//await db.messages.delete(key)
//查询数据
//return await db.messages.get(key)
// 大于
// db.users.where('age').above(25).toArray().then(users => {
// console.log(users); // 输出所有年龄大于25岁的用户列表
// }).catch(error => {
// console.error("Error fetching users:", error);
// });
//大于等于(>=)
// db.users.where('age').aboveOrEqual(25).toArray().then(users => {
// console.log(users); // 输出所有年龄大于等于25岁的用户列表
// }).catch(error => {
// console.error("Error fetching users:", error);
// });
//小于等于(<=)
// db.users.where('age').belowOrEqual(30).toArray().then(users => {
// console.log(users); // 输出所有年龄小于等于30岁的用户列表
// }).catch(error => {
// console.error("Error fetching users:", error);
// });
//模糊查询
// db.users.where('name').startsWith('Jo').toArray().then(users => {
// console.log(users); // 输出所有名字以'Jo'开头的用户列表
// }).catch(error => {
// console.error("Error fetching users:", error);
// });
// db.users.where('name').contains('ohn').toArray().then(users => {
// console.log(users); // 输出所有名字中包含'ohn'的用户列表
// }).catch(error => {
// console.error("Error fetching users:", error);
// });
//或 运算 使用 anyOf 或者 or
// db.users.where('age').anyOf([25, 30]).toArray().then(users => {
// console.log('年龄为25或30的用户:', users);
// }).catch(error => {
// console.error('查询出错:', error);
// });
// db.users.where('age').equals(25).or('age').equals(30).toArray().then(users => {
// console.log('年龄为25或30的用户:', users);
// }).catch(error => {
// console.error('查询出错:', error);
// });
// 或运算 + 且运算
// db.users.where('age').equals(24).or('age').equals(15).and(() => {
// return db.users.where('name').contains('陈');
// }).toArray().then(users => {
// console.log('年龄为24或15,且名字包含“陈”的用户:', users);
// }).catch(error => {
// console.error('查询出错:', error);
// });
//记录数量
// db.users.where('age').aboveOrEqual(25).count(count => {
// console.log(count); // 输出年龄大于或等于25岁的用户数量
// }).catch(error => {
// console.error("Error counting users:", error);
// });
//求和
// db.users.where('age').aboveOrEqual(25).each(user => {
// // 在这里累加年龄
// sum += user.age;
// }).then(() => {
// // 当所有记录都被遍历时,打印总和
// console.log(`年龄大于或等于25岁的用户的年龄总和: ${sum}`);
// }).catch(error => {
// console.error("计算年龄总和时出错:", error);
// });
//求平均值
// db.users.where('age').aboveOrEqual(25).toArray().then(users => {
// const sum = users.reduce((acc, user) => acc + user.age, 0);
// const average = sum / users.length;
// console.log(`年龄大于或等于25岁的用户的平均年龄: ${average}`);
// }).catch(error => {
// console.error("计算平均年龄时出错:", error);
// });
//#endregion 使用案例
import Dexie from 'dexie';
export const db = new Dexie('localdb');
db.version(1).stores({
topics: '++id, name, img, date',//gpt 主题
messages: '++id, name, img, date, role, content,topicId', //gpt 问答
});
文档更新时间: 2024-03-17 22:34 作者:admin