数据库
创建
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})