企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”。 ## 下载 上[MongoDB官网](https://www.mongodb.org/) ,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意: >1)根据业界规则,偶数为“稳定版”(如:1.6.X,1.8.X),奇数为“开发版”(如:1.7.X,1.9.X),这两个版本的区别相信大家都知道吧。 2)32bit的mongodb最大只能存放2G的数据,64bit就没有限制。 <!--more--> 我这里就下载"32bit“,ok,下载之后我就放到D盘,改下文件夹名字为mongodb。 解压压缩包或者安装到mongodb目录。 启动之前,我们要给mongodb指定一个文件夹,这里取名为db,用来存放mongodb的数据。 最终目录结构: ``` D:. ├─mongodb │ ├─bin │ └─db │ └─_tmp ``` ## 启动并初始化 cmd里进入到mongodb/bin目录,然后运行mongod开启命令,同时用`--dbpath`指定数据存放地点为“db”文件夹。 初始化数据库 ``` D:\Projects\mongodb\bin>mongod --dbpath=D:\Projects\mongodb\db ``` 最后要看下是否开启成功:mongodb采用27017端口,那么我们就在浏览器里面键入`http://localhost:27017/`,看到有提示内容即可。 ## 基本操作 由于是开篇,就大概的说下基本的“增删查改“,我们再开一个cmd,之前的命令行窗口不要关闭(关闭连接就断了)。输入mongo命令打开shell,其实这个shell就是mongodb的客户端,同时也是一个`js的编译器`(支持js语法)。 打开数据库,默认是`test`数据库 ``` D:\Projects\mongodb\bin>mongo connecting to: test ``` 下面开始增删查改: ### 新增记录(insert) 好,数据库有了,下一步就是集合,这里就取集合名为“person”,要注意的就是文档是一个json的扩展(Bson)形式。 ``` > db.person.insert({"name":"yjc","age":22}) WriteResult({ "nInserted" : 1 }) ``` 再新增一条 ``` > db.person.insert({"name":"rzc","age":22}) WriteResult({ "nInserted" : 1 }) ``` ###查询(find) 1)“_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。 2)严格的按照Bson的形式书写文档,不过也没关系,错误提示还是很强大的。 查询所有 ``` > db.person.find() { "_id" : ObjectId("558fd39d02d9b5bcf004aaf5"), "name" : "yjc", "age" : 22 } { "_id" : ObjectId("558fd3c602d9b5bcf004aaf6"), "name" : "rzc", "age" : 22 } ``` ### 条件查找 ``` > db.person.find({"name":"yjc"}) { "_id" : ObjectId("558fd39d02d9b5bcf004aaf5"), "name" : "yjc", "age" : 22 } ``` ### 更新操作(update) update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”。 ``` > db.person.update({"name":"rzc"},{"name" : "rzc2", "age" : 20}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.person.find({"name":"rzc"}) > db.person.find({"name":"rzc2"}) { "_id" : ObjectId("558fd3c602d9b5bcf004aaf6"), "name" : "rzc2", "age" : 20 } ``` ### 删除操作(remove) remove中如果不带参数将删除所有数据,呵呵,很危险的操作,在mongodb中是一个不可撤回的操作,三思而后行。 ``` > db.person.remove({"name":"rzc2"}) WriteResult({ "nRemoved" : 1 }) > db.person.find() { "_id" : ObjectId("558fd39d02d9b5bcf004aaf5"), "name" : "yjc", "age" : 22 } > db.person.count() 1 ```