mongodb作为非关系型数据库(NoSql),它的可以由以下的结构组成,文档,集合,数据库。
常用命令
1.确保服务已经开启(cmd)
net start MongoDB
2.链接数据库
mongo
3.查询数据库
show dbs
4.新建(进入)数据库
use 数据库名称
5.显示当前数据库
db
6.显示所有集合
show collections
7.创建集合student并插入一条数据
db. student. insert({id:"001",name:"aaa",sex:"male",age:3});
8.插入多条数据
student.insert([{name:"zs",age:18,sex:"male"},{name:"zs",age:18,sex:"male"}, {name:"zs",age:18,sex:"male"}]);
9.查询当前数据库中student集合里的所有文档
db.student.find()
10.条件查询("_id" 是文档唯一id)
db.student.find({"_id" : ObjectId("5e78bb00113f17326b629817")});
db.student.find({"age":18,sex:"male"})
(查找所有年龄18,性别男的数据)
db.student.findOne({"age":18,sex:"male"})
(即使查询结果有很多条,findOne只查询一条就返回)
11.查询文档的总数
db.student.find().count();
12.更新
db.sudent.update({"name":"zs"},{$set:{age:60",friend:"ppp"}})
- (查找name=zs的文档并更新age=60和friend=ppp)
- friend字段是之前没有的,但此次更新后会增加此字段,这也是非关系数据库不同于关系型数据库的特点之一
- $set:字段更新操作符,详细参数见MongoDB中文文档
https://www.mongodb.org.cn/manual/update-field/
13.更新多条文档
- 1.updateMany:
db.student.updateMany({"name":"zs"},{$set:{"age":60,friend:"ppp"}});
- 2.{multi:true}:
db.student.update({"name":"zs"},{$set:{"age":22,friend:"qqq"}},{multi:true});
14.删除字段
db.student.update({"name":"zs"},{$unset:{friend:"ppp"}});
删除条件为{“name”:“zs”}的friend字段
15.删除文档
db.student.remove({"name":"zs"}) \\默认删除多行
db.student.remove({"name":"zs"},true) \\删除1行
db.student.remove({}) \\删除所有
16.伪删除(让用户以为删除,但数据库仍保留,仅在查询时不查询被用户设置删除的数据)
db.student.insert([
{name:"张三",content:"aaaaaaa",isDel:0},
{name:"张三",content:"bbbbbbb",isDel:0}
]);
db.student.update(
{"_id" : ObjectId("5e79a22664876a2590a05002")},
{$set:{isDel:1}});
db.student.find({name:"张三",isDel:0});
17.清屏
cls
18.多条数据插入
19.查询集合student中id大于10小于100的文档
db.student.find({id:{$gt:10 , $lt:100}});
db.student.find({counter:{$lte:10}}); //查看student集合中的前10条数据
db.demos.find().skip(10).limit(10);//查询10-19
(详细参数见下方参考文档)
MongoDB query-logical Method(逻辑查询操作符)
https://www.mongodb.org.cn/manual/query-logical/
MongoDB视图化管理工具
https://www.zdfans.com/html/42148.html