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({})deletefrom collectionName;
drop from collectionName;//指定条件删除
db.collectionName.remove({"key1","value1","key2","value2"})deletefrom 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