mongodb是NOSQL类型的数据库,非结构化,适合存储大量数据。
学习版本3.4.4
正确安装,mongodb后。首先需要创建数据库目录data,这里我默认在系统盘(C盘)下启动服务,则会默认在C盘的根目录下创建data数据库目录。
如果不是在C盘下启动mongodb服务,则需要创建data目录和日志,并在启动mongodb服务时制定data路径和日志路径。
参考mongodb启动及配置
mongodb创建用户权限
创建管理员账户
通过非授权的方式启动mongo
1 | $ use admin |
提示:用户名和密码可随意定
通过授权的方式启动mongo
1 | $ mongod -auth |
执行该语句,认证登录
1 | $ db.auth("admin", "123456") |
创建指定数据库账户
切换到指定数据库
1 | $ use mytest |
创建用户
1 | $ db.createUser({user: "root", pwd: "123456", roles: [{ role: "dbOwner", db: "mytest" }]}) |
提示:测试方式创建管理账户,需要以授权方式启动mongo
mongodb基本操作
数据库的创建
1 | $ use DATABASE_NAME |
数据库的查询
1 | $ show dbs |
数据库的删除
1 | $ use DATABASE_NAME |
集合的创建
1 | $ db.createCollection(name, options) |
集合的查询
1 | $ show collections |
集合的删除
1 | $ db.COLLECTION_NAME.drop() |
文档的创建
1 | $ db.COLLECTION_NAME.insert(document) |
文档的查询
1 | $ db.COLLECTION_NAME.find() |
提示:上面的查询find里的数据即为查询条件,相当于
where name='liu' and age=25
除了find() 方法外,还有一个 findOne() 法,返回一个文件。
文档的删除
MongoDB的 remove() 方法用于从集合中删除文档。remove() 方法接受两个参数。第一个是删除criteria ,第二是justOne标志:
deletion criteria :(可选)删除标准,根据文件将被删除。
justOne : (可选)如果设置为true或1,然后只删除一个文件。
1 | $ db.COLLECTION_NAME.remove(DELLETION_CRITTERIA) |
删除第一个匹配的文件:如果有多个记录且要删除的只有第一条记录,那么设置remove()方法中justOne参数
文档的更新
MongoDB的 update() 和 save() 方法用于更新文档的集合。 update()方法更新现有的文档值,而替换现有的文档通过的文件中 save() 方法。
1 | $ db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA) |
提示:MongoDB默认将只更新单一的文件,来更新多个你需要设置参数置’multi’ 为true
1 | example:$ db.myCollection.update({name:'liu'},{$set:{name:'yang'}},{multi:true}) |
初步学习,更多更详细可以参考mongodb基本操作