目录
一、MongoDB简介和常用命令
1、简介
- MongoDB 文档类似于 JSON 对象(是一种轻量级的数据交换格式)
- 旨在为WEB应用提供可扩展的高性能数据存储解决方案
2、常用命令
-
进入MongoDB
命令:mongo
-
退出MongoDB
命令:exit
二、数据库操作
1、显示所有数据库
命令:show dbs
- MongoDB数据库一般默认有三个:admin、config、local ,8class是作者以前创建过的数据库
2、创建/切换数据库
命令:use 数据库名
- 注意:空数据库不显示
3、创建集合
命令:db.createCollection('a1')
4、查看当前所在的数据库
命令:db
5、删除当前所用的数据库
命令:db.dropDatabase()
三、集合操作
- 先创建一个名为New_one的数据库,并创建一个名为a1的集合。
1、查看集合
命令:show collections
2、删除集合
命令:db.集合名.drop() (返回true表示删除成功)
四、文档操作
- 先在New_one的数据库下创建一个students的集合
1、添加文档:键值对形式
命令:db.集合名.insert(键值对)
- 如果不指定“_id”参数,MongoDB会为文档分配一个唯一的object对象 ,这个在查看集合内容的时候会体现出
2、添加多条文档
命令:
db.集合名.insert( [
{键值对},
{键值对},
……,
] )
3、查询文档
-
查询文档全部内容
命令:db.集合名称.find()
-
根据某一项数据查询内容
命令:db.集合名.find({键值对})
-
格式化显示
命令:db.集合名.find().pretty()
当数据超过长度时会自动美化
4、噩梦条件查询
操作符
操作符 描述 $ne 不等于 $gt 大于 $lt 小于 $gte 大于等于 $lte 小于等于
- 例:查询_id大于2的信息
命令:db.集合名.find( {_id:{$gt:2}} )
-
and条件的使用
- and:条件都要符合才能查询出来
基本命令:db.集合名.find( { $and:[ {条件1}, {条件2},…… ] } )
-
or条件的使用
- 只要符合条件都查询出来
基本命令:db.集合名.find( { $or:[ {条件1}, {条件2}, ……] } )
-
and、or条件的组合使用
基本命令:
db.集合名.find( {$or:[
{$and:[ {},{},…… ]},
{$or:[ {}, {},…… ]}
] } )
5、修改文档
-
修改数据
命令:db.集合名.update( {原数据}, {新数据} )
-
指定修改的属性:{$set:{}}
例:db.students.update( {name:'王五'}, {$set:{name:9}} )
$set后面是修改的值
-
添加数据
例:db.students.update({'name':'李四'}, {$set:{age:18,sex:'男'} } )
-
修改所有满足条件的文档:{mulit:ture}
命令:db.集合名.update( {原数据}, {新数据}, {multi:ture} )
- 先增加一些内容
- 修改所有age>10的都变为age:40
6、删除文档
-
删除指定条件的文档
命令:db.集合名.remove({键值对})
-
删除满足条件的第一条文档:{justOne:true}
命令:db.集合名.remove({键值对}, {justOne:true})
-
删除所有文档
命令:db.集合名.remove({})
五、MongoDB和Python交互
需下载的模块:pip install pymongo
演示如下:
- 先查看New_one数据库中的students集合是否有数据
- 然后在python编辑器中编写代码,写入文档
- 在mongodb中查看数据是否被写入
- 附上源码
import pymongo
# 建立连接
client = pymongo.MongoClient()
# 指定数据库
db = client['New_one']
# 指定集合
col = db['students']
# 写入数据
col.insert([{'_id':1,'name':'张三'}, {'_id':2,'name':'李四'}, {'_id':3,'name':'王五'}])
# 查询数据
a = col.find() # find返回的是可迭代对象,需要用for来遍历取值
for i in a:
print(i)