• MongoDB 查找、更新、模糊查找等


    MongoDB作为文档型非关系数据库,和Oracle、Mysql等关系型数据库类似,被认为是最像关系型数据库的非关系型数据库。当然,也有不同的地方,比如关系型数据库的‘数据表’,在MongoDB里叫做‘数据集合’,关系型数据库数据表里的每行数据,在MongoDB里是一个个的数据文档,也因此MongoDB被称为文档型数据库。以下是在日常代码过程中用到的 MongoDB 常用操作:

    首先,以引入 UserModel 为例:

    const UserModel = require('../models/user')

    模糊查找:

    await UserModel.find({ username: { $regex: keyword } })

    注: 查找 UserModel 里,username 包含 keyword 的所有文档。

    向集合中插入数据:

    方法一:

    let userEntity = new UserModel({ username, password, telnumber });
    let userInfo = await userEntity.save();

    注: UserModel 为数据模型, 包含username、 password、 telnumber  三个字段

    方法二:

    const userInfo = await UserModel.create(newUserInfo);

    注: newUserInfo 为对象, 包含 username、 password、 telnumber  三个属性。

    更新单个文档:

    方法一:

     UserModel.udpateOne({ _id: userInfo._id }, { username, telnumber });  //username、telnumber 为新的值

    方法二:

    await UserModel.findOneAndUpdate({ username: '张三' }, { $set: { telnumber: '1234567890' } });

    注: 将张三的手机号更新为:1234567890

    批量更新文档:

    将用户集合中所有 telnumber 字段为空的文档, telnumber 更新为  '1234567890' :

    UserModel.updateMany({ telnumber : '' }, { $set: { telnumber : '1234567890' } })

    查询集合中的第一条插入的数据:

    UserModel.find({}).limit(1)   // 方法一: find({})
    
    UserModel.findOne({})         // 方法二: findOne({})查询第一条数据

    查询集合中的最后一条插入的插入数据:

    UserModel.find({}).sort({_id: -1}).limit(1)   //_id为插入文档时自带的字段,具有时间排序性

    删除单个文档:

    方法一:

    UserModel.findOneAndDelete({ username: '张三' })

     方法二:

    UserModel.deleteOne({ username: '张三' })

    注: 删除用户名为 张三 的文档。

    同时删除多个文档:

    其中,Tel = ['123', '456', '789']

    await UserModel.deleteMany({ Tel })

    注: 同时删除 UserModel 里, Tel 为 123, 456, 789 的文档。

    计算find({})返回的文档个数:

    let result = UserModel.find({}).countDocuments()   // .countDocuments() 返回总文档数
  • 相关阅读:
    Python 学习笔记(十三)Python函数(二)
    Python 学习笔记(十三)Python函数(一)
    Python 学习笔记(十二)Python文件和迭代(二)
    tb数据过多用省略号显示
    js,el表达式,<c:if>
    html元素标签时间格式化
    oracle链接报错shared memory realm does not exist
    mysql查找字段在哪个表中
    删除数据库重复数据
    excel使用poi操作。
  • 原文地址:https://www.cnblogs.com/Fcode-/p/12986422.html
Copyright © 2020-2023  润新知