mongoDB使用的是一种与json数据类似的数据结构,称为bson(Binary Json)
查看所有的数据 库
show dbs
通过use 关键字切换数据库
user admin
创建 数据库
在mongoDb中数据库是自动创建的,通过use切换到新的数据库中,进行数据即可自动创建数据库
查看表
show tables
show collections
删除表, 返回true表示删除成功,返回false表示删除失败
tables.user.drop()
删除数据库
先进入到需要删除的数据库中
db.dropDatabase()
#插入数据,下面的两种的效果是一样的
db.user.insert(document)
db.user.save(document)
数据查找
db.user.find()
数据更新
db.collection.update(
<query>,
<update>,
[
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
]
)
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是 false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。(使用得非常的少)
// 这里修改数据 的时候一定需要使用$set进行修改数据
// 修改不存在 的字段时,为添加字段操作
// 更新数据 时,默认不会新增数据,
// 设置第一个参数为true,则更新不存在的数据就为添加操作
删除数据
通过remove()进行数据 的删除
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
// 第一个参数为true则只会删除匹配的第一条数据
没有测试
// 设置remove为不传入数据,则表示删除所有的数据
为了简化操作,在官方推荐使用deleteOne()与deleteMany()进行数据的删除操作
db.user.deleteOne({id:1})
de.user.deleteMany({}) #删除所有的数据
数据的查询
db.user.find([query], [fields])
query :可选,使用查询操作符指定查询条件
fifields :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
// 如果需要以易读的方式 来读取数据,可以使用pretty()方法,语法格式如下
db.col.find().pretty()
#只查询id与username字段
db.user.find({}, {id:1, username:1})
#查询数据的条数
db.user.find().count()
#查询id为1的数据
db.user.find({id:1})
#美化数据 的输出
#查询年龄小于20的数据
#and查询,age小于等于21并且id大于等于2
db.user.find({age:{$lte:21}, id:{$gte:2}})
#查询id=1 or id=2
db.user.find({$or:[{id:1},{id:2}]})
#分页查询:Skip()跳过几条,limit()查询条数
db.user.find().limit(2).skip(1) #跳过1条数据,查询2条数据
db.user.find().sort({id:-1}) #按照age倒序排序,-1为倒序,1为正序