Mongodb学习笔记(二)

    技术2024-08-18  78

    4. Mongoose–定义 Schema

    在 db 文件夹中,新建 model.js 文件

    // 数据模型 (规范数据格式) const mongoose = require('./db') // 定义 Schema (数据规范) const UserSchema = mongoose.Schema({ username: { type: String, required: true, // 必须有 unique: true // 唯一,不重复 }, password: String, age: Number, city: String, gender: { type: Number, default: 0 // 0 - 保密, 1 男,2 女 } }, { timestamps: true // 时间戳,自动添加文档的创建时间、更新时间等 }) // 定义 Model const User = mongoose.model('user', UserSchema) module.exports = { User }

    新增和查询数据

    新建 test1.js

    // 使用 model 操作数据 const { User } = require('./model') // 定义一个 async 的匿名函数,并执行。为了里面能用 await !(async () => { // 新增数据 - 1 // const zhangsan = new User({ // username: 'zhangsan', // password: 'abc', // age: 20, // city: 'beijing', // gender: 1 // }) // zhangsan.save() // 新增数据 - 2 // const lisi = await User.create({ // username: 'lisi', // password: '123', // age: 23, // city: 'shanghai' // }) // console.log('lisi 创建完成', lisi) // 查询列表数据,返回的是数组 // const userList = await User.find({ username: 'zhangsan' }) // const userList = await User.find().sort({ _id: -1 }) // console.log('userList 查询结果', userList) // 查询单条数据,返回的是对象 const user = await User.findOne({ username: 'zhangsan' }) console.log('user 查询结果', user) })()

    更新和删除数据

    新建 test2.js 文件

    // 使用 model 操作数据 const { User } = require('./model') // 定义一个 async 的匿名函数,并执行。为了里面能用 await !(async () => { // // 更新 // const updateResult = await User.findOneAndUpdate( // { username: 'zhangsan' }, // 条件 // { age: 30 }, // 更新的内容 // { // new: true // 返回更新后的数据 // } // ) // console.log('更新的返回结果', updateResult) // 删除 const removeResult = await User.remove({ username: 'lisi' }) console.log('删除的返回结果', removeResult) })()
    Processed: 0.013, SQL: 10