- 切换和创建数据库(下面命令没有库会创建)
use database_name;
- 删除数据库
use database_name;
db.dropDatabase();
- 显示所有的数据库
show dbs
-- 刚创建的数据库插入数据才会显示
- 创建集合
db.createCollection(collection_name, {capped: true, autoIndexId:true, size:6142800, max:10000})
-- 带有参数的集合,capped是否使用集合限制,autoIndexId是否自动在 _id 字段创建索引,size大小6142800B,max:文档数最大10000
db.collection_name.insert({key:value})
-- 可以插入文档自动创建
- 查看集合
show tables
or
show collections
- 删除集合
db.collection_name.drop()
- 插入文档
db.collection_name.insert(document)
-- 如果主键存在,报异常,不更新当前数据,不存在插入
db.collection_name.insertOne(document)
-- 如果主键存在,更新当前数据,不存在插入
db.collection_name.insertOne(
<document>,
{
writeConcern: <document>
}
)
-- 插入一个document
db.collection_name.insertMany(
[ <document 1> , <document 2>, ... ],
{
writeConcern: <document>,
ordered: <boolean>
}
)
-- 插入多个document
-- 注释:writeConcern 写入策略,1要求去人写操作,0不要求。
order:是否按顺序写入,默认是true
eg: db.test.insertOne({name: '小明', age: 18, object: ['语文', '英语', '数学']})
db.test.insertMany([{name: '小明', age: 18},{name: '小钢', age: 19}] )
- 查看集合所有的数据
db.collection_name.find();
- 更新集合
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
query: 查询条件
update: 更新的内容
upsert: true条件匹配不到直接插入,匹配到更新;false相反,默认false
multi: true条件匹配所有的记录,false更新条件匹配的第一条记录,默认.false
writeConcern: 抛出异常的级别
eg: db.test.update({"name":"小明"}, {$set:{"age":12}})
db.test.update({"name":"小明"}, {$set:{"age":12}}, {multi: true})