四、文档操作
- 先在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)