Miloer の 闲言碎语

mongoDB初探 基本命令

新建/选择数据库

use test

显示数据库列表

show dbs

创建表

db.createCollection(“test”)

展示表

show collections

删除当前数据库

db.dropDatabase()

获取当前环境的数据库名

db.getName()

数据库命令帮助

db.help()

删除集合

db.name.remove()

集合命令帮助

db.name.help()

文档操作查询

查询所有

db.name.find()

查询第一条记录

db.name.findOne()

按条件查找

db.name.find({“name”:”miloer”})

指定返回值查询

db.name.find({},{“name”:1})

{}代表所有
name代表所查字段
1:代表所查询的数据中包含name属性
0:与1相反

$ gt 查询name表中年龄大于20的数据

db.name.find({“age”:{$gt:20}})

$ gte 查询name表中年龄大于等于20的数据

db.name.find({“age”:{$gte:20}})

$ lt 查询name表中年龄小于20的数据

db.name.find({“age”:{$lt:20}})

$ lte 查询name表中年龄小于等于20的数据

db.name.find({“age”:{$lte:20}})

$ or 查询name表中满足年龄等于20 或者21的数据

db.name.find({$or:[{age:20},{age:21}]})

注意插入的age对象必须为number类型。我第一次插入的是字符串,就没查出来(滑稽).

过滤查询

包含查询
查询表中name属性包含test的文档

db.name.find({name:/test/})

包含头查询
查询表中name属性开头包含’test’的文档

db.name.find({name:/^test/})

排序查询

升序

db.name.find().sort({age:1})

降序

db.name.find().sort({age:-1})

限定查询条数

skip

限定起始查询条(从第五条开始查询)

db.name.find().skip(5)

limit

限定查询5条(查询至第五条为止)

db.name.find().limit(5);

文档操作 增、删、改

insert 插入文档

单条插入

db.name.insert({username:’test’})

批量插入

var query = [{‘username’:1},{‘username’:2}];
db.name.insert(query)

池插入

var query = [{‘username’:1},{‘username’:2}];
db.name.bathInsert(query);

save

save 与insert类似,insert插入时如果存在主键会报错,save插入如果存在会覆盖。效率比insert要低。

删除指定文档

db.name.remove({‘userName’:1})

删除指定文档中的第一条

db.name.remove({‘userName’:1},{justOne:true})

删除所有文档

db.name.remove({})

更新

$set

db.name.update({‘userName’:1},{$set:{‘userName’:2}})

$inc
自增 ,agree+=10

db.name.update({userName:’test’},{$inc:{agree:10}})