MongoDB 基本 增 删 改 查 version v4.0.10

//MongoDB shell version v4.0.10

//使用mydb 这个数据库
use mydb;
//查看当前使用的是哪一个数据库
db;
//创建集合
db.createCollection("mycollection");

//删除集合
db.mycollection.drop();

//使用insert新增一条数据
db.mycollection.insert({name:"yyc1",age:21,mail:"881@qq.com"});

//使用insertOne新增一条数据
db.mycollection.insertOne({name:"yyc2",age:22,mail:"882@qq.com"});

//使用save新增一条数据
db.mycollection.save({name:"yyc3",age:23,mail:"883@qq.com"});

//使用insertMany新增多条数据
db.mycollection.insertMany([
{name:"yyc4",age:24,mail:"883@qq.com"},
{name:"yyc5",age:25,mail:"883@qq.com"},
{name:"yyc6",age:26,mail:"883@qq.com"}
])
//insert和save的区别
//insertXXX 每执行一次就会往数据库插入一次数据.运行多少次插入多少次,如果显示的执行_id的话,而且数据库已经存在了该_id,那么将会报错
//save 方法 如果指定了 _id ,当数据库中没有的时候,会直接新增,如果有的话,相当于根据该_id 进行更新数据,如果没指定,也是每次执行都进行新增

//使用update修改数据
db.mycollection.update({name:"yyc1"},{$set:{name:"yangyongcui"}});

//使用updateOne 修改数据
db.mycollection.updateOne({name:"yangyongcui"},{$set:{name:"yyc1"}});

//使用updateMany修改数据 将年龄大于20 的数据的name 改成yangyongcui1
db.mycollection.updateMany(
{age:{$gte:20}},{$set:{name:"yangyongcui1"}}
);

//使用findAndModify更新能够返回旧的数据 前面是query 条件,后面是update 语句 只能修改一条,如果加上new:true 这个参数则返回更新后的新数据,默认为false
db.mycollection.findAndModify({query:{name:"yyc"},update:{$set:{name:"newyyc"}},new:true});

//使用findOneAndUpdate修改并返回旧数据 前面是条件,后面是update 语句  只能修改一条
db.mycollection.findOneAndUpdate({name:"yyc2"}, {$set:{name:"newyyc"}});
 
//使用findOneAndReplace修改并返回旧数据 第一个是条件,第二个是新的值  只能修改一条
db.mycollection.findOneAndReplace({name:"yyc3"}, {name:"newyyc"});


//使用deleteOne删除 数据 只删除一条,即使有多个满足该条件的数据,也只是删除一条数据
db.mycollection.deleteOne({name:"yangyongcui1"});

//使用deleteMany 删除数据  满足条件的都将会删除,如果什么条件也不写,将会把集合中的数据全部删除掉
db.mycollection.deleteMany({});

//使用deleteMany删除年龄大于25 的数据
db.mycollection.deleteMany({age:{$gte:25}})

//使用findOneAndDelete 可以返回刚刚删除的数据
db.mycollection.findOneAndDelete({name:"yyyyyyyy"});


//使用find 查询数据 查询所有
db.mycollection.find();

//使用find 查询数据 条件查询
db.mycollection.find({name:"yyc1"});

//只返回复合条件的第一条数据
db.mycollection.findOne({age:{$gte:20}});

// in查询
db.mycollection.find({name:{$in:["yyc1","yyc2"]}});

//and 查询
db.mycollection.find({$and:[{name:"yyc1"},{age:25}]});

//or 查询
db.mycollection.find({$or:[{name:"yyc1"},{name:"yyc2"}]});


//排序sort 整数是正序 负数是倒序 通过年龄正序排列
db.mycollection.find({}).sort({"age":1})

//limit 分页 skip   
//每页获取2条数据 读取第二页
db.mycollection.find({}).limit(2).skip(2);

// 指定查询某些字段,例如只是获取name 字段 注意:  _id 不显式的指定为0 的话,会默认查出来
db.mycollection.find({},{_id:0,name:1})

//创建索引
db.mycollection.createIndex({name:1})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值