MongoDB基本操作

数据库

创建

use 数据库名; – 存在选择当前数据库,不存在则创建。需要添加数据才能显示
db; – 显示当前数据库
show dbs; – 显示所有数据

删除

db;
db.dropDatabase(); – 删除当前数据库

集合(相当于关系数据库的表)

创建

db.createCollection(name, options) -- name为集合名 options为可选参数

删除

show collections; -- 显示所有集合
db.集合名称.drop();

文档(相当于关系数据库表中的行)

添加

db.集合名.insert({"key":"value"});

更新

db.集合名.update(
    {"查询条件key":"查询条件value"},
    {$set:{"更新值key":"更新值value"}},
    {
        upsert: <boolean>,
        multi: <boolean>,
        writeConcern: <document>
    }
);

upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。

删除

db.集合名.remove(
		{"查询条件key":"查询条件value"},
		{
			 justOne: <boolean>,
			 writeConcern: <document>
	    }
	);
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。

查询

加.pretty(); -- 格式化返回

db.集合名称.find(
	{"查询条件key":"查询条件value"},
	projection(可选参数)
);

db.集合名称.findOne(
	{"查询条件key":"查询条件value"},
	projection(可选参数)
);
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)
	
等于	
{<key>:<value>}	
db.集合名.find({"by":"aa"}).pretty()	
where by = 'aa'

小于	
{<key>:{$lt:<value>}}	
db.集合名称.find({"likes":{$lt:50}}).pretty()	
where likes < 50

小于或等于	
{<key>:{$lte:<value>}}	
db.集合名称.find({"likes":{$lte:50}}).pretty()	
where likes <= 50

大于	
{<key>:{$gt:<value>}}	
db.集合名称.find({"likes":{$gt:50}}).pretty()	
where likes > 50

大于或等于	
{<key>:{$gte:<value>}}	
db.集合名称.find({"likes":{$gte:50}}).pretty()	
where likes >= 50

不等于	
{<key>:{$ne:<value>}}	
db.集合名称.find({"likes":{$ne:50}}).pretty()	
where likes != 50

and 
{key:value,key:value}
or 
{$or:[{key:value},{key:value}]}

(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte

模糊查询
db.集合名称.find({title:/教/})
查询 title 字段以"教"字开头的文档:
db.集合名称.find({title:/^教/})
查询 titl e字段以"教"字结尾的文档:
db.集合名称.find({title:/教$/})

类型查询 $type
db.集合名称.find({"title" : {$type : 2}})
或
db.集合名称.find({"title" : {$type : 'string'}})

分页
.limit(10)
.skip(0) 

排序
1 升序排列,
-1 降序排列。
.sort({key:1})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值