mongo根据主键删除_Mongodb增删改查(insert - remove - update - find)操作及常用命令实例...

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,主要介绍MongoDB数据库增删改查操作及常用命令。

Mongodb-入门命令

启动Mongodb数据库D:\MongoDB\bin>mongod --dbpath d:\MongoDB\data\db

首先连接Mongodb数据库./bin/mongo

use databaseName 选库

show tables/collections 查看当前库下的collection

如何创建库

Mongodb的库是隐式创建,你可以use 一个不存在的库

然后在该库下创建collection,即可创建库// 创建user

db.createCollection("user")

// collection允许隐式创建

Db.collectionName.insert(document);

删除collection/databasedb.collectionName.drop();

db.dropDatabase();

查询所有数据库show dbs;

查看当前使用的数据库db.getName();

db;

显示当前db状态db.stats();

当前db版本db.version();

修复当前数据库db.repairDatabase();

Mongodb-CURD操作

Mongodb-增加(insert())

mongodb存储的是文档,文档是json格式的对象db.user.insert({_id:'1',name:"xiaozhang"});

db.user.insert({_id:"2",name:"wukong3",sex:"男",age:90});

Mongodb-删除(remove())db.user.remove({_id:"1"});

删除user表中age属性为20的文档,只删除1行db.user.remove({age:’20’,true});

注意

1: 查询表达式依然是个json对象

2: 查询表达式匹配的行,将被删掉.

3: 如果不写查询表达式,collections中的所有文档将被删掉.

Mongodb-修改(update())

$set修改某列的值db.user.update({name:"xiaoxiao"},{$set:{name:"xiaozhang"}});

$rename 重命名某个列db.user.update({name:'wukong2'},{

$rename:{name:'usernaem'}, //重命名某个列

$inc:{age:30} //增长某个列

});

修改时的赋值表达式

$set  修改某列的值

$unset 删除某个列

$rename 重命名某个列

$inc 增长某个列

$setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段.

upsert:是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)db.user.update({username:"xiaoxiao"},{$set:{username:'xiaosan'}},{upsert:true});

multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)db.user.update({age:90},{$set:{age:22}},{multi:true});

Mongodb-查询知识

注:以下查询基于ecshop网站的商品表(ecs_goods)

在练习时可以只取部分列,方便查看.

查询运算符(mongodbvs mysql)$gt      >

$gte     >=

$in      in

$lt      <

$lte     <=

$ne      !=

$nin     not in

$all    无对应项,指数组所有单元匹配

$or      or

$and     and

$not     not

查询主键为32的商品db.goods.find({goods_id:32});

查询不属于第3个栏目的商品{$ne}db.goods.find({cat_id:{$ne:3}},{cat_id:1,goods_id:1,goods_name:1});

本店价格高于3000元的商品{$gt}db.goods.find({shop_price:{$gt:3000}},{goods_id:1,goods_name:1,shop_price:1});

查询小于等于100的商品db.goods.find({shop_price:{$lte:100}},{goods_id:1,goods_name:1,shop_price:1});

取出第4栏目和第11栏目下的商品($in)db.goods.find({cat_id:{$in:[4,11]}},{cat_id:1,goods_id:1,goods_name:1});

取出价格大于100小于500的商品($and)db.goods.find({$and:[{shop_price:{$gt:100}},{shop_price:{$lt:500}}]},{goods_name:1,shop_price:1});

取出不属于第3栏目且不属于第11栏目的商品($and $nin和$nor分别实现)db.goods.find({$and:[{cat_id:{$ne:3}},{cat_id:{$ne:11}}]},{cat_id:1,goods_name:1});

db.goods.find({cat_id:{$nin:[3,11]}},{cat_id:1,goods_name:1});

db.goods.find({$nor:[{cat_id:3},{cat_id:11}]},{cat_id:1,goods_name:1});

Mongodb查询-元素运算符$exists     某列存在则为真

$mod        满足某求余条件则为真

$type       数据为某类型则为真

取出goods_id%5 == 1, 即,1,6,11,..这样的商品db.goods.find({goods_id:{$mod:[5,1]}},{goods_id:1,goods_name:1});

取出有age属性的文档db.user.find({age:{$exists:1}},{username:1,age:1});

MongoDB数据库增删改查操作及常用命令就介绍在这里,想深入学习的同学可以到MongoDB官网上看一下MongoDB的文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值