MongoDB的安装和基本操作
一.使用前的准备(windows下的安装)
1.下载
目前MongoDB的官网不知道问什么不能进行下载了,但是可以在MongoDB中文论坛进行下载,
地址如下:http://www.mongoing.com/mongodb-downloads
2.安装
我下载的是msi版本的软件,安装过程中选择自定义方式,可以改变安装的位置,我的安装路径如下:

安装完成后会出现如下的文件

3.启动MongoDB
打开cmd,进入安装好的MongoDB的bin目录执行如下命令:
下面的--dbpath 后的参数就是存放数据的文件夹

4.还可以把MongoDB安装成windows服务,可以参考园子里面一个大神的做法:http://www.cnblogs.com/lzrabbit/p/3682510.html
有点不同的是我看了大神的文章:因为我是第一次安装,所以直接写了下面的命令就安装好了
D:\MongoDB\bin>mongod.exe --dbpath D:\MongoDBData --logpath=D:\MongoDBLog\mongod
b.log --logappend --install
然后就可以在管理工具中的服务中查看我们安装的MongoDB服务了
5.启动数据库服务的配置文件
6.通过cmd启动mongodb的客户端

启动客户端就可以操作数据库了,下面就是一些基本的操作。
二.使用Mongodb
①创建一个数据库
use[数据库的名字]

这个时候如果什么都不做,直接退出的话,这个新创建的数据库就会被删除
②给数据库添加一个集合,并在集合当中添加一条记录
Db.[文件名].insert({...})
> db.Student.Insert({name:"Stu1",age:"15"})
③查看所有的数据库
Show dbs
> show dbs admin (empty)
local 0.078GB
mongoDBTest 0.078GB
④查看数据库中的所有文档
Show collections
> show collections
Student
system.indexes
⑤查看指定文档的数据
查询所有的数据: db.[文件名].find()
查询第一条数据: db.[文件名].findOne()
> db.Student.find()
{ "_id" : ObjectId("56d4ffa1dac7a0ad749f16bf"), "name" : "Stu1", "age" : "15" }
{ "_id" : ObjectId("56d503c7dac7a0ad749f16c0"), "name" : "Stu2", "age" : "18" }
> db.Student.findOne()
{
"_id" : ObjectId("56d4ffa1dac7a0ad749f16bf"),
"name" : "Stu1",
"age" : "15"
}
>
⑥更新文档数据(两种方式)
1)全更新掉,就是把原来的数据进行覆盖
方法:
db.[文件名].update({查询条件},{更新内容})
例:

1.先查看一下文件中的记录,这里有两条
2.创建一个变量,将第一条记录赋给它
3.进行数据更新
4.更新后查看变量和更新后的记录
5.结果,被覆盖了,原来那条数据不见了
2)使用set修改器
db.[文件名].update({查询条件},{$set:{更新内容}})
例如我修改上面那个 Name=Stu1 age=15 的骚年,把他的年纪改成20岁
> db.Student.update({name:"Stu1"},{$set:{age:"20"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.Student.findOne()
{
"_id" : ObjectId("56d4ffa1dac7a0ad749f16bf"),
"name" : "Stu1",
"age" : "20"
}
>
和sql语句当中的
update 表名 set age=20 where Name="Stu1" 差不多
⑦删除文档中的数据
db.[文件名].remove({…...})
> db.Student.remove({job:"Student"})
WriteResult({ "nRemoved" : 1 })
> var s = db.Student.find()
> s
{ "_id" : ObjectId("56d503c7dac7a0ad749f16c0"), "name" : "Stu2", "age" : "18" }
>
⑧删除数据库的文件
db.[文件名].drop()
⑨删除数据库
db.dropDatabase()
补充:
查看mongodb的方法
db.help()使用这个函数可以查看
数据集合命名规范注意点:
可以给集合起名为 db-test 但是这样的名字,使用db.[文件名]就会出错
要使用db.getCollectio("文件名")才可以
例子:
> db.db-test.insert({name:"123"})
2016-03-01T11:41:30.032+0800 ReferenceError: test is not defined
> db.getCollection("db-test").insert({name:"123"})
WriteResult({ "nInserted" : 1 })
mongoDB的shell自带javascript引擎,所以可以在shell中编写javascript函数
例子:
> function insert(object){ db.getCollection("Student").insert(object); }
> insert({name:"xxxxx"})
> db.getCollection("Student").find()
{ "_id" : ObjectId("56d503c7dac7a0ad749f16c0"), "name" : "Stu2", "age" : "18" }
{ "_id" : ObjectId("56d51208dac7a0ad749f16c2"), "name" : "xxxxx" }
>
三、总结
刚刚学习了Mongodb的基本操作,其中有些东西要学习一下
1.我们看到我们创建一个集合的时候,Mongodb会自动生成一个system.Indexs的集合
2.每一条记录当中,都会自动生成一个key/value,_id和objectId
3.每次我插入数据,使用了类似JSON的东西,那个叫做BSON,可以理解是对JSON的扩展
MongoDB的安装和基本操作的更多相关文章
- MongoDB 的安装和基本操作
MongoDB 的安装 使用 docker 安装 下载镜像: docker pull mongo:4.4.8(推荐,下载指定版本) docker pull mongo:latest (默认下载最新版本 ...
- MongoDB的安装、基本操作
此说明文档针对的community版本是v4.2.0(1)下载下载官网,此时的community版本是v4.2.0https://www.mongodb.com/download-center/com ...
- Linux系统下MongoDB的简单安装与基本操作
这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下 Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...
- MongoDB的安装配置、基本操作及Perl操作MongoDB
MongoDB的安装配置.基本操作及Perl操作MongoDB http://www.myhack58.com/Article/60/63/2014/42353.htm
- MongoDB与RoboMongo的安装+python基本操作MongoDB
MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业.各个行业以及各类应用程序的开源数据库.作为一个适用于敏捷开发的数据库,MongoDB的数据 ...
- mongodb(二) 安装和使用
mongodb的安装和使用 最近的项目需要使用到mongodb,从而开始熟悉nosql,有了本篇文章,记录和方便他人. mongodb的安装 下载地址:http://www.mongodb.org/d ...
- mongoDB的安装及基本使用
1.mongoDB简介 1.1 NoSQL数据库 数据库:进行高效的.有规则的进行数据持久化存储的软件 NoSQL数据库:Not only sql,指代非关系型数据库 优点:高可扩展性.分布式计算.低 ...
- python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用
python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...
- MongoDB文档的基本操作
1. MongoDB的安装方法 (1)下载MongoDB 相应的版本: (2)设置数据文件和日志文件的存放目录: (3)启动MongoDB服务: (4)将MongoDB作为服务启动. 2. Mongo ...
随机推荐
- WordPress MORE+主题‘prettyPhoto’跨站脚本漏洞
漏洞名称: WordPress MORE+主题‘prettyPhoto’跨站脚本漏洞 CNNVD编号: CNNVD-201310-284 发布时间: 2013-10-23 更新时间: 2013-10- ...
- 2821: 作诗(Poetize)
2821: 作诗(Poetize) Time Limit: 50 Sec Memory Limit: 128 MBSubmit: 1078 Solved: 348[Submit][Status] ...
- <转>如何将Chrome变成开发利器,开发者们在用这些插件
Chrome 浏览器具有强大的跨平台能力以及丰富的扩展插件,一直是许多开发者的首要选择.而利用许多 Chrome 插件,开发者们在开发流程中能够极大地提高开发效率.我们就整理了十款开发者常用的 Chr ...
- Java正则表达式应用总结
http://lavasoft.blog.51cto.com/ http://lavasoft.blog.51cto.com/62575/179324 Java正则表达式应用总结 一.概 ...
- ARM学习笔记6——程序状态寄存器访问指令
这两条指令结合,可用于对CPSR或SPSR进行读/写操作. 当需要保存或修改当前模式下CPSR或SPSR的内容时,首先必须将这些内容传递到通用寄存器中 1.MRS指令(Move to Register ...
- JNI 从C文件向Java文件传递多个参数
JNI C主函数 #include <jni.h> #include <string.h> #include <android/log.h> #include &q ...
- hadoop家族之mahout安装
步骤一.下载mahout http://www.apache.org/dyn/closer.cgi/mahout/ 我下载的是 mahout-distribution-0.9.tar.gz 16-F ...
- HDU 1712 ACboy needs your help 典型的分组背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712 ACboy needs your help Time Limit: 1000/1000 MS ( ...
- HDU 4714 Tree2cycle DP 2013杭电热身赛 1009
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4714 Tree2cycle Time Limit: 15000/8000 MS (Java/Other ...
- nodejs 基本问题答疑
传统服务器架构1.服务器接到请求2.创建一个新的响应程序的实例 node服务器架构1.服务器接到请求2.检查处理程序是否存在,如果存在直接处理,不存在则创建. node的做法节省了内存 ubuntu下 ...