Mongodb学习第一天
(一)、MongoDB 下载
MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center#community
(注意:在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统。最新版本也已经没有了 32 位系统的安装文件。)
(二)、MongoDB 安装
根据你的系统下载 32 位或 64 位的 .msi 文件,下载后双击该文件,按操作提示安装即可。
安装过程中,你可以通过点击 “Custom(自定义)” 按钮来设置你的安装目录。(安装就不多解释了,安装到你想放的地方,最好不是C盘)
(三)、MongoDB 启动
MongoDB将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该放在根目录下((如: C:\ 或者 D:\ 等 )。
我放在了G:盘 安装了 mongodb,创建一个data的目录然后在data目录里创建db目录。
然后cmd命令下,首先找到“mongodb”的路径,然后运行mongod开启命令,同时用–dbpath指定数据存放地点为“db”文件夹。出现下面命令就表示成功了。
(我启动时候碰见一个问题就是运行mongodb出现计算机丢失api-ms-win-crt-runtime-|1-1-0.dll出现这个错误,错误原因:官方最新版的MongoDB需要: VC++2015 RC x64的支持,否则会报出,所以自己找个vc-redit.exe网上好多给的官网的连接都是失效了。我自己找的下载的分享到我的网盘了 http://pan.baidu.com/s/1cu6UEa 安装搞定接着下一步)
最后要看下是否开启成功,从图中的信息中获知,mongodb采用27017端口,那么我们就在浏览器里面键入“http://localhost:27017/”
(四)、MongoDB基本操作
然后就是按照文档学的基本的“增删查改“,再开一个cmd,输入mongo命令打开shell,其实这个shell就是mongodb的客户端
db 命令用于查看当前操作的文档(数据库):就是查看连得哪个库
下面就是就是创建集合(相当于表),这里就取集合名为“person”;然后插入数据
(1)insert() 方法:插入语句
语法db.COLLECTION_NAME.insert(document)。下面直接看例子(只看红框就行,上面的是我自己测试内容)
插入了两条数据,还有返回值表示插入成功没有。
还可以将数据定义为一个变量。然后插入通过插入变量,插入数据
插入文档你也可以使用 db.person.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。
(3)find() 方法:
语法:db.collection.find(query, projection)
参数说明:
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
(3)update() 方法:
update() 方法用于更新已存在的文档。语法格式如下
db.collection.update(
(query),
(update),
{upsert: (boolean),
multi: (boolean),
writeConcern: (document) })
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如
,
<script type="math/tex" id="MathJax-Element-1">,</script>inc…)等,也可以理解为sql update查询内set后面
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
下面就是我更新数据,查数据(红框)中途查时候不知道怎么卡了。。。
、
(4)remove() 方法:移除集合中的数据。在mongodb中是一个不可撤回的操作!!!
语法:db.collection.remove(
(query),
{
justOne: (boolean),
writeConcern: (document)
}
)
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
删了两条数据
db.col.remove({})就把所有的数据都删了。。。慎重啊!!!