什么是MongoDB MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 如何搭建MongoDB服务 step1:dockerpullmongo step2:dockerrundnamemongotestp27017:27017mongoauth(推荐) 或者:dockerrundnamemongotestp27017:27017mongo 备注:auth表示需要密码才可以访问容器服务 无auth可以直接访问 step3:进入容器dockerexecitmongotestbash或者通过dashboard进入(推荐) Mongo的常规使用 在容器里面操作使用Mongo数据库:mongo进入mongo数据库useadmin切换到admindb,这个和mysql命令一致switchedtodbadmin创建一个用户并给admin权限db。createUser({相当于mysql的CREATEUSER‘username’’host’IDENTIFIEDBY‘password’;andGRANTprivilegesONdatabasename。tablenameTO‘username’’host’这两条命令的组合})db。createUser({user:tony,pwd:123456,roles:〔{role:userAdminAnyDatabase,db:admin},readWriteAnyDatabase〕})Successfullyaddeduser:{命令执行后的提示语user:tony,roles:〔{role:userAdminAnyDatabase,db:admin},readWriteAnyDatabase〕}db。auth(tony,123456)用户鉴权1返回值为1表示成功showdbs;显示databases,相当于mysql里面的showdatabases命令;admin0。000GBconfig0。000GBlocal0。000GBshowcollections显示出表,相当于mysql里面的showtables命令;system。userssystem。versiondb。system。users。find()查询用户信息,相当于是selectfromusers;{id:admin。tony,userId:UUID(8aeee678bccc443ba50c0fe6f74c3ea5),user:tony,db:admin,credentials:{SCRAMSHA1:{iterationCount:10000,salt:RkeAZjD6vZo6Vec60nORg,storedKey:bMyUSGDgjFRhjVqQpqFBHIHOo,serverKey:4z9KSBNCLJSpPZeh0BjpubzgNE},SCRAMSHA256:{iterationCount:15000,salt:dmbYYJRafHKqqI1iI3SyT9HJXboN0KpghEfiQ,storedKey:SutEoaB8D3iz4WXGinegfsU4mt4QFM7FzTcWBJyKrD0,serverKey:SCiMCtvsem3wRtRGmZxMg12VdbrKb8HiNRZNEDi7gWw}},roles:〔{role:userAdminAnyDatabase,db:admin}〕}db。system。users。find()。pretty()查询用户信息并美化输出,相当于是selectfromusersG;{id:admin。tony,userId:UUID(8aeee678bccc443ba50c0fe6f74c3ea5),user:tony,db:admin,credentials:{SCRAMSHA1:{iterationCount:10000,salt:RkeAZjD6vZo6Vec60nORg,storedKey:bMyUSGDgjFRhjVqQpqFBHIHOo,serverKey:4z9KSBNCLJSpPZeh0BjpubzgNE},SCRAMSHA256:{iterationCount:15000,salt:dmbYYJRafHKqqI1iI3SyT9HJXboN0KpghEfiQ,storedKey:SutEoaB8D3iz4WXGinegfsU4mt4QFM7FzTcWBJyKrD0,serverKey:SCiMCtvsem3wRtRGmZxMg12VdbrKb8HiNRZNEDi7gWw}},roles:〔{role:userAdminAnyDatabase,db:admin}〕}usetestdb如果数据库不存在,则创建数据库,否则切换到指定数据库。switchedtodbtestdbdb。testdb。insert({name:testdb})现在可以向testdb数据库插入一些数据WriteResult({nInserted:1})返回结果为1表示成功useabcswitchedtodbabcshowdbs显示当前有些什么数据库admin0。000GBconfig0。000GBlocal0。000GBtestdb0。000GB备注:通过这个命令大家会发现abc数据库为什么没有显示出来了?是因为它没有向testdb数据库插入数据,所以显示不出来。接下来我们继续看看testdb下有些什么collections(集合)在mysql中称为表;usetestdb;switchedtodbtestdbshowcollections;这里展示的是数据库下有哪些表testdbdb。testdb。find()看见了我们上面insert的语句的信息了nametestdb{id:ObjectId(5eecba30a4907f76b3dcf728),name:testdb}db。createCollection(tony)等同于createtable命令{ok:1}showtables;等同于showcollections命令testdbtonydb。testdb。drop()删除掉了testdb这个表,等同于droptable命令trueshowtables;显示还有什么表(在mongo里面称为集合)tonydb展示当前所在的数据库testdbdb。tony。drop()删除最后一张tony表true 总结:今天的文章主要介绍了什么是MongoDB,MongoDB服务的构建及Mongo的一些基础操作命令,如创建用户,用户授权,创建数据,显示数据,创建集合,显示集合,集合数据查询,集合删除等(并对比着mysql命令进行了解释),希望对新手有帮助。