MongoDB的安装和基本操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB的安装和基本操作相关的知识,希望对你有一定的参考价值。

.使用前的准备(windows下的安装) 

1.下载

目前MongoDB的官网不知道问什么不能进行下载了,但是可以在MongoDB中文论坛进行下载,

地址如下:http://www.mongoing.com/mongodb-downloads 

2.安装

我下载的是msi版本的软件,安装过程中选择自定义方式,可以改变安装的位置,我的安装路径如下:

技术分享

 

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

技术分享

3.启动MongoDB

打开cmd,进入安装好的MongoDBbin目录执行如下命令:

下面的--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.启动数据库服务的配置文件

 Mongodbwindows下通过配置文件配置和访问

 Mongodb动命令mongod参数说明

 

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 })

  

mongoDBshell自带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,_idobjectId

3.每次我插入数据,使用了类似JSON的东西,那个叫做BSON,可以理解是对JSON的扩展

 

以上是关于MongoDB的安装和基本操作的主要内容,如果未能解决你的问题,请参考以下文章

Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段

MongoDB的安装和基本操作

ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

[PHP]新版的mongodb扩展安装和使用

MongoDB——MongoDB安装+增删改查操作

MongoDB——MongoDB安装+增删改查操作