MongoDB
一、简单使用
1 简介
MongoDB,基于分布式文件存储的数据库,是一个面向文档的数据库,Nosql数据库的一种,数据结构为键值对组成,文档类似于JSON对象。
文档准确来说是BSON,也就是Binary JSON的缩写,二进制的JSON格式。
MongoDB的数据类型是严格的,强类型。
official::MongoDB:应用程序数据平台 | MongoDB
MongoDB 教程 | 菜鸟教程 (runoob.com)
2 使用
社区版下载:official::Download MongoDB Community Server | MongoDB
管理工具:
二、 常用命令
1 管理命令
在Compass的shell中输入,或者直接在mongoDB的shell中输入。
输入栏:test >
,表示的是当前数据库是test,是mongoDB的默认数据库。一开始是空数据库,使用show dbs
命令是无法查看到他。只有当往这个数据库中成功插入数据后,这个数据库才会被真正创建。
# 查看数据库 show databases show dbs
# 切换数据库(可以直接指定不存在的数据库) use <db_name> use local
|
2 集合
集合:类似于mysql中的表。
操作方式是:db.集合名称.func
MongoDB,操作符表达式大全及实例
# 插入一行数据 # 返回值:acknowledged:告知是否插入成功。insertedId:数据自动绑定一个唯一的全局的ID(UUID) db.users.insertOne({name: "mugi"}) db.users.insertMany({name: "mio", age:15}, {name: "uyi", age:15})
# 查找所有数据 db.users.find() db.users.find({name: "mugi"}) # 条件查询(参数1) db.users.find({name: "mugi"}, {name: 1, age: 1, _id: 0}) # 返回类型限定(参数2。1:返回,0:不返回) db.users.find({age: {$gt, 3}}) # 其他条件查询(大于3)
# 功能函数(在结果后面直接加,例如:db.users.find().limit(1)) .limit(1) # 限制返回几条数据 .sort({param_1: 1,param_2: 1}) # 排序,param是指键名,比如name(1:升序,-1:降序) .skip(1) # 跳过几条数据
# 找到第一个满足条件的函数 db.users.findOne({filter})
# 聚合函数 db.users.countDocuments({filter}) # 统计用户数量(可以加条件进行查询)
# 更新数据 db.users.updateOne({age: 3}, {$set: {money: 100}}) # 更新一条数据,第一个是条件,第二个是更新的数据(要加上$set) db.users.updateMany({filter}) # 更新多条数据
# 删除数据 db.users.deleteOne({age: 3}) # 删除一条数据,删除age为3的第一个用户数据 db.users.deleteMany({filter}) # 删除多条数据
|
# 单条件 db.users.find({age: {$gt: 3}}) # 返回age大于3的用户 db.users.find({age: {$lt: 3}}) # 返回age小于3的用户 db.users.find({age: {$eq: 3}}) # 返回age等于3的用户
db.users.find({age: {$in: [1,3]}}) # 是否在指定数组中
db.users.find({email: {$exists: true}}) # 返回email字段存在的用户(email值为null也会被返回) db.users.find({email: {$exists: false}}) # 返回email字段不存在的用户
db.users.find({name: {$regex: /exp/}}) # 正则查询 db.users.find({name: {$regex: /exp/, $options: 'i'}}) # 正则带选项(此处是忽略大小写)
# 多条件 db.users.find({age: {$gte: 3, $lte: 5}}) # 返回age大于等于3,小于等于5的用户 db.users.find({$and: [{age: {$gte: 3}}, {age: {$lte: 5}}]}) # 使用$and,效果和上面的语句一样 db.users.find({age: {$not: {$qe: 3}}}) # 返回年龄不为3的用户
|