MongoDB CRUD Operations
记录常用的 MongoDB 操作指令。 官方文件 看这里
数据库操作
# 查看数据库
> show dbs;
admin (empty)
local 0.078GB
mydb 0.953GB
test01 0.078GB
# 指定当前数据库为 test01
> use test01
switched to db test01
# 删除当前数据库 (test01)
> db.dropDatabase()
{ "dropped" : "test01", "ok" : 1 }
基础 CRUD 操作
# 新增一笔
> db.users.insert(
{
name: "Jacks",
birthday: ISODate("1980-03-23"),
status: "A",
habits: [ "tennis", "literature"]
}
)
# 删除 collection
> db.users.drop()
# 使用 JavaScript 回圈新增 多笔
for (i=1; i<=5000; i++) {
var name = 'name_' + i;
var rNum = Math.floor((Math.random() * 100));
var brand = ["Lexus", "Volvo", "Benz", "Toyota", "Luxgen"];
var date = new Date("2015");
date = date.setDate(date.getDate() - rNum * 10);
db.cars.insert({
name: name,
brand: brand[rNum % 5],
dateProduce: date,
speed: rNum
})
}
# 查询筛选结果
db.cars.find(
{ speed: { $gt: 80 } }, // query criteria
{ name:1, brand:1, speed:1, _id:0 } // projection
).
sort({ speed:-1 }). // sort by 'speed' descending
skip(100). // skip 100 documents
limit(20) // limit 20 documents
# delete 动作
db.cars.remove( { name: "name_999" } );
# update 动作
db.cars.update(
{ speed: { $lt: 10 } },
{ $set: { brand: "bike" } },
{ multi: true }
)
# 看看更新后的结果
db.cars.find( { speed: { $lt: 10 } } )
索引 Index
# 在 collection:cars 上建立索引 dateProduce
db.cars.createIndex( { dateProduce: 1 } )
# 查看索引
db.cars.getIndexes()
# 删除索引
db.cars.dropIndex( { "dateProduce": 1 } )
# 在 collection:cars 上建立复合索引 brand+speed
db.cars.createIndex( { brand:1, speed:1 } )