推荐网站 :
菜鸟教程:https://www.runoob.com/mongodb/mongodb-tutorial.html
MongoDB中文网:https://www.mongodb.org.cn/
一、数据库的连接
1、打开MongoDB目录,进入cmd,输入mongo进入MongoDB命令行模式
2、使用默认端口连接数据库
http://localhost:27017/
二、创建数据库
1)创建数据库
语法:use +数据库名
如果数据库存在,切换到数据库,否则创建数据库。
如:
注意:这里可以看到虽然创建了数据库但是用show dbs却没有显示,要想显示刚刚创建的数据库必须向里面添加数据。
2)删除数据库
语法:db.dropDatabase() //删除当前数据库
三、创建集合
1)创建集合
创建集合语法:db.createCollection(要创建的集合名称)
在student数据库中创建student集合
-
切换到student数据库:use student
-
db.createCollection(“student”)
如图:
2)查看集合
语法:
-
show tables
-
show collections
-
db.getCollectionNames()//查看当前数据库下所有集合名称
如图:
3)删除集合
语法:db.collection.drop()
如:db.hobby.drop()
返回true就成功删除了;
四、数据库基本操作
1)插入文档
1.在数据库中插入一条或多条文档
语法:db.collection.insert()
如:
db.student.insert(
{name:”爬虫实战”,price:40}
)
2.合理运用变量名
如:
data=(
{name:‘小明’,
age:20,
hobby:‘吃饭’}
db.student.insert(data)
3.一次插入一条文档
语法:db.collection.insertOne()
4.一次插入多条文档
语法:db.collection.insertMany()
如:
2)查询文档
语法:db.collection.find()
如:
db.student.find()
注意:查询时可以看到用insert语句进行插入文档时会默认生成一个id值,如上图,insert命令可以用save命令代替来命名id值
语法:db.student.save({_id:1001,x:32}
用find()方法查找显示结果不太好看,因此find方法提供了pretty方法,使显示结果更加美观。
如:
db.student.find().pretty()
3)条件查询
1.等价查询
语法:db.collection.find(
{字段名:“值”}
)
如:db.hobby.find(
{name:‘如花’}
)
如果不想显示id(某字段)值,可以进行下面操作
注意:0/false不显示指定字段,1/true显示字段。
2.Limit与skip方法查询
语法:limit(1) //返回第一条文档
Skip(3) //显示第三条开始的文档
3.常用操作符
{key:{$lt:value}}:小于值
{key:{$lte:value}}:小于等于值
{key:{$gt:value}} : 大于值
{key:{$gte:value}}:大于等于值
{key:{$ne:value}}:不等于值
与/And:{key1:value1,key2:value2} 两个条件中间直接加逗号表示同时满足
或/or:{$or:[ {key1:value1,key2:value2},…] 表示满足其一
如:
db.student.find(
{age:{ n e : 18 , ne:18, ne:18,lt:20}
})
// 查找年龄不等于18,并且小于20的数据
4)更新文档
语法:db.collection.update()
修改某一值用$set操作符
如:
db.student.find()
db.student.update(
{name:‘小明’},{$set:{hobby:‘Python’}})
如果想要修改多条相同的文档,则需要设置multi参数为true.
语法:db.student.update(
{name:‘小明’},{$set:{hobby:‘Python’}},{multi:true})
5)删除文档
语法1:db.collection.remove()
官网推荐: deleteOne() 和 deleteMany()
如:
把睡觉的人干掉:
db.student.remove(
{hobby:‘睡觉’}
)
删除一个集合中的所有文档:
db.collection.remove({})
使用db.collection.drop()效率更高,它会将集合与索引一起删掉。