MongoDB入门

张开发
2026/4/5 17:13:55 15 分钟阅读

分享文章

MongoDB入门
1.定义基于分布式文件存储的开源数据库由C编写提供了一个可扩展的高性能数据存储解决方案文档型数据库NoSQL数据库的一种非关系型数据库数据库由集合组成对应MySQL中的表集合中包含多个文档文档对应MySQL中的一行即一条记录文档使用类似于JSON的格式来组织和存储数据BSON)对比关系型数据库MySQL非关系型数据库Redis 键值型特点更加灵活MongoDB并不需要事先创建好数据库和集合然后再插入数据也不需要预先定义好集合中字段的类型和长度同一个集合中的数据也不需要有相同的结构等安装环境 rocky 9# 1. 添加 MongoDB 官方源 sudo tee /etc/yum.repos.d/mongodb-org-7.0.repo EOF [mongodb-org-7.0] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp/server-7.0.asc EOF # 2. 安装 sudo dnf install -y mongodb-org # 3. 启动并设置开机自启 sudo systemctl start mongod sudo systemctl enable mongod # 4. 验证 mongosh --eval db.version()命令1.切换数据库use 数据库名称可用use指定一个不存在的数据库插入数据才显示2.插入数据db.users.insertOne({name:cara}) 插入一条数据db.users.insertMany([ { },{ } ]) 插入多条数据3.查询数据db.users.find() 查询users集合中的数据limit() 限制查询返回结果的数量sort() 排序查询结果 ( 1升序, -1降序 )返回等级最高的两个用户多个字段排序 (等级相同,姓名字母顺序排列)skip() 跳过一些查询结果跳过第一条数据返回前2名skip和sort一起使用实现分页find({field:value}) 条件查询查询等级为3的用户注等级为一个数字传入字符串无返回返回级别为3的name字段1返回0不返回排除某个字段返回其他字段$regex:/expression/ 正则表达式查询名字含张的数据忽略大小写4.运算符查询level 3gt 大于 lt小于 eq 等于 gte 大于等于 lte小于等于 $in 多个条件中的一个查询 等级为1或3的用户 是否存在查询等级大于等于3小于等于5的用户$and : [{条件1},{条件2}] 逻辑与$or : [{条件1},{条件2}] 逻辑或$not : {条件} 逻辑非 反转查询条件查询等级不等于3的用户$nin() not in不在数组中的值$exists() 判断某个字段是否存在查询存在email字段的数据 1存在 0不存在注:$exists()只能用来查询某个字段是否存在不能用来查询某个字段的值是否存在虽然邮箱值为null但是邮箱字段存在所以能查询到5.聚合统计数据countDocuments() 统计文档数量查询等级大于等于3的用户数量findOne({filter}) 查询满足条件的一条数据查询等级大于等于3的第一条数据6.更新数据updateOne() 更新满足条件的一条数据$set 表示后面是要更新的字段若字段不存在会自动创建一般用ID更新直接从终端复制ID放到update语句的第一个参数里面就可以了updateMany() 更新满足条件的多条数据7.删除数据deleteOne() 删除满足条件的一条数据deleteMany() 删除满足条件的多条数据

更多文章