MongoDB 是一款开源、跨平台、分布式,具备大数据处理能力的文档存储数据库。在 2007 年由 MongoDB 软件公司开发完成,并实现所有代码源发展。目 前,该文档数据库被国内外众多知名网因所采纳,用于提升数据访问的处理速度 和大数据存储问题。 sql
基本操做命令 :数据库
show dbs : 显示全部数据库(空数据库不会显示)。分布式
use dbname : 切换至 数据库 dbname。大数据
db.stats() 显示 数据库状态blog
db.dropdatabase() 删除当前数据库。索引
db. getCollectionNames () 查看当前数据库下的全部集合的名称ip
show roles 查看当前数据库的用户角色权限及用户名/密码信息开发
增删改查:rem
插入:文档
db.student.insert({"name":"Jason","age":20}) student 为集合名称,若是没有该集合,会自动建立。
db.student.insert([{"name":"dalie","age":30},{"name":"sun","sex":"male"}]) 插入多条记录 。 同一个集合中的文档,key 不用保持一致。
document = {"name":"biao","age":12}
db.student.insert(document); 也能够用声明变量的方式 将文档插入集合中
db.student.insert([{"name":"wang","age":11},{"name":"goudan","age":1}],{ordered:true}) 顺序插入 ordered为true时,如存在主键冲突的数据,会致使所有插入失败,false时,除出错记录外,其余记录正常插入。
查询:
db.student.find() 列出该集合内全部文档。
db.student.find({"name":"Jason"}) 括号内 能够填写 匹配条件 相似于 sql 中where
db.student.fingOne() db.student.findOne({"name":"Jason"}) 列出集合内符合条件的第一条文档
db.student.find().pretty() 将结果 以优美的形式展现。
db.student.find({},{name:1,age:1,_id:0}).pretty() 能够设置要查询的key ,1显示,0不显示。
db.student.find().limit(2) 返回前两条文档
db.student.find().skip(2) 跳过前两条文档,显示 以后的全部文档。
db.student.find().skip(2).limit(1) 显示第三条文档。
db.student.find({name:{$in:["Mike","Jason"]}}) $in 实现 范围查询。$in 用于不一样文档指定同一个 Key 进行或条件匹配, $or 能够指定多个 Key 或条件匹配。
db.student.find({$or:[{name:"Jason"},{age:12}]})
更新:
db.student.update({name:"Jason"},{$set:{age1:12}})
$set 更新要修改的字段 $unset 删除该字段 $rename 更改字段名 $inc 修改数值作加法运算。
db.collection.updateOne() 。与 update()惟一的 区别是命令语法里少了 一个 multi: <boolean>选项, 也就是 updateOne()只适用于符合条件的一条文档的修改任务。
db.collection.updateMany() 。与 update()惟一的区别是命令语法里少了 一个 multi: <boolean>选项, 也就是 updateMany()只适用于符合条件的多条文档的修改任务。
db.collection.replaceOne() 。与 update()的区别有两处, 一个没有 multi: <boolean> 选项;另一个在第二个参数 Cupdate 的<update>)里不能有更新操做符。
删除:
db.student.remove("name":"Jason") 删除姓名为Jason的文档。
db.student.remove({}) 删除集合内全部文档,但若是要删除整个集合 db.student.drop() 效率更高,它会直接删掉集合及索引。