mongo操作的基本增删改查命令

基本的增删改查

tips:mongo得插入数据格式都是以json得形式进行插入的,数据格式以json为主
mongodb的底层数据的读写功能使用C++实现。
对外的API调用使用JS来实现的

1.插入命令

use test1 //使用test1数据库//insert插入,如果没有指定的id值则会被系统随机生成一个id,key和value是相应的键和值
//insert直接插入,不遍历数据库,不更新重复数值。

db.collectionName.insert({“_id”:1001,”key1”:”value1”,”key2”:”value2”})
insert into collectionName(_id,key1,key2) values(1001,"value1","value2")

//save插入
//save遍历数据库插入,更新重复数值

db.collectionName.save({“_id”:1001,”key1”:”value1”,”key2”:”value2”})

2.删除命令


//删除集合的所有文件
删
db.collectionNmae.remove({})
delete  from collectionName;
drop from collectionName;

//指定条件删除
db.collectionName.remove({"key1","value1","key2","value2"})
delete  from collectionName where key1=value1 AND key2=value2;

//$unset删除键,删除key1=value1下的kye2键  tips:key2下的1,-1,0都是对key2进行删除
db.collectionName.update({"key1" : "value1"},{"$unset":{"key2":1}})


3.更改命令

//替换掉id相同的数据内容

db.collectionName.save({“_id”:1001,”key1”:”value1”,”key2”:”value2”})
update collectionName set key1="value1", key2="value2" where "id="1001"

//指定条件更改
$set 新增字段名字或者修改指定字段下的参数
db.collectionName.update({_id:"1001"},{$set:{_id:"1002",key1:"value1",key2:"value2"}},{multi:true})
update collectionName set id=1002 ,key1="value1", key2="value2" where "id="1001"
update collectionName set id=1002 ,key1="value1", key2="value2" where "id="1001"

//使用upsert参数更改  [详细解析](https://blog.csdn.net/kzhzhang/article/details/84701949)
MongoDB的update方法的中,第三个参数为upsert,默认值为false,当设置为true的时候可以有以下作用,update方法会首先查找与第一
个参数匹配的记录,再用第二个参数更新之,如果找不到与第一个参数匹配的记录,则会插入一条新的记录,插入记录时会先以第一个参数
为基础创建一条记录,然后用第二个参数修改该条新的记录。

db.collectionName.update({key1:”value2”},{$set:{key2:”value2”}},{upsert:true})
update collectionName set key2="value2" where key1=value1

//$push 向文档中的数组形式添加键值,键不存在就创建一个键,键值必须是数组
db.collectionName.update({"key1" :"value1"},{$push:{"key2":"value2"}})

// $inc修改指定条件下的数值,对文档里面的数字类型的值进行增加或者减少
db.collectionName.update({key1:value1},{$inc:{key2:-100}},{multi:true})

//$rename修改字段的名称
db.collectionName.update({key1:"value1"},{$rename:{key1:"value2"}})
update  collectionName set  key1=value2 where key1=value1;

//添加
//指定条件添加数据,数组添加一个数据
$addToSet
db.collectionName({key1:"value1",{$addTset:{"key2","value2"}}})

//$each
//用$addToSet插入多条值,用$each,向key1,value2中数组key2添加多个数据
 db.collectionName.update({"key1":"value1"},{$addToSet:{key2:{$each:[valu2,value3,value4]}}})

#pushAll
db.collectionName.update({key1:"value1"},{$pushAll:{"key2":["value2","value3"]}})

//$pop从数组的头或者尾删除数组中的元素
//1,0,-1。分别代表冲key2数组类型键值的头,尾,尾删除
db.collectionName.update({"key1" :"value1"},{$pop:{"key2":-1}})

//$pull 删除键值中的指定数值 
//删除key1,value1中键为key2数组中的指定数据 value2
db.collectionName.update({"key1" :"value1"},{$pull:{"key2":"value2"}})

//$slice
//截取字符数组 正数是代表从前面进行截取,负数是代表从后面进行截取
//下面结果是再each插入以后从后面进行截取
db.collectionName.update({"key1":"value2" },{$push: {"key2": {$each: [value2, value3,value4 ], $slice: -5}}})

 

4.查询命令

//查询
//查询全部
db.collectionName.find()
select * from collectionName

//指定条件查询
db.collectionName.find({"key1","value1","key2","value2"})
select * from collectionName where key1=value1 AND key2=value2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个示例代码,用于进行 MongoDB 数据库增删改查操作,包含分页查询的功能: ``` import pymongo class MongoDB: def __init__(self, host='localhost', port=27017, db_name='test'): self.client = pymongo.MongoClient(host, port) self.db = self.client[db_name] def insert_one(self, collection, data): """向指定集合中插入一条数据""" self.db[collection].insert_one(data) def insert_many(self, collection, data_list): """向指定集合中插入多条数据""" self.db[collection].insert_many(data_list) def delete_one(self, collection, filter): """从指定集合中删除一条数据""" self.db[collection].delete_one(filter) def delete_many(self, collection, filter): """从指定集合中删除多条数据""" self.db[collection].delete_many(filter) def update_one(self, collection, filter, update): """更新指定集合中的一条数据""" self.db[collection].update_one(filter, update) def update_many(self, collection, filter, update): """更新指定集合中的多条数据""" self.db[collection].update_many(filter, update) def find_one(self, collection, filter): """在指定集合中查找一条数据""" return self.db[collection].find_one(filter) def find(self, collection, filter, page=1, per_page=10): """在指定集合中查找多条数据,并支持分页""" skip = (page - 1) * per_page return self.db[collection].find(filter).skip(skip).limit(per_page) ``` 使用方法: ``` # 创建 MongoDB 实例 mongo = MongoDB() # 插入一条数据 mongo.insert_one('users', {'name': 'Tom', 'age': 20}) # 插入多
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值