服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - MongoDB - MongoDB数据库安装配置、基本操作实例详解

MongoDB数据库安装配置、基本操作实例详解

2020-05-26 16:13theVicTory MongoDB

这篇文章主要介绍了MongoDB数据库安装配置、基本操作,结合实例形式详细分析了MongoDB数据库安装配置具体步骤、相关命令与基本操作实现技巧,需要的朋友可以参考下

本文实例讲述了MongoDB数据库安装配置、基本操作。分享给大家供大家参考,具体如下:

1、简介

 

NO SQL:NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是对不同于传统的关系数据库管理系统(RDBMS)的统称。NoSQL用于超大规模数据的存储,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

 

RDBMS

NOSQL

- 高度组织化结构化数据
- 结构化查询语言(SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务

- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
-键 - 值对存储,列存储,文档存储
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性

 

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。MongoDB 将数据存储为一个文档,数据结构由键值对(key=>value)组成。MongoDB 文档类似于 JSON 对象,可轻易查询文档中内嵌的对象及数组。字段值可以包含其他文档,数组及文档数组。可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上(即所谓的分片)。

2、安装配置

 

    1、官网下载windows安装包https://www.mongodb.com/download-center#community

    2、点击安装包,按照指示安装,选择custom自定义安装位置。注:我在安装3.6版本的时候软件报错无法完成安装,查询后发现将安装最后一步时的compass框不勾选,即可完成安装,如果需要compass,安装之后再次点击安装程序,选择change选项,重新安装compass。

    3、配置mongodb:在你想要的位置新建三个文件:data文件夹(用于存放数据库数据),logs\mongodb.log文件(用于存放数据库日志),etc\mongodb.conf文件(用于相关配置)。打开mongodb.conf文件,输入相关配置信息:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#数据库路径
 
dbpath=D:\MongoDB\data
 
#日志输出文件路径
 
logpath=D:\MongoDB\logs\mongodb.log
 
#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
 
logappend=true
 
#启用日志文件,默认启用
 
journal=true
 
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
 
quiet=true
 
#端口号 默认为27017
 
port=27017

4、安装mongo服务:在mongo安装目录下的bin文件夹下打开命令行,输入:

?
1
mongod --config "D:\MongoDB\etc\mongodb.conf" --install --serverName "MongoDB"

--config后跟刚才保存的配置文件地址,--serverName后跟创建的服务的名字

执行之后在Windows10搜索服务可以看到mongodb服务,点击开启:

MongoDB数据库安装配置、基本操作实例详解

或者在MongoDB /bin 目录中执行命令行  mongod --dbpath ../data,启动mongo服务。

5、打开命令行:配置环境变量,添加环境变量到MongoDB的bin文件夹下,这样在任意位置新建一个命令行窗口,输入mongo就可以开启mongo的shell命令行了。

3、基本操作

 

1、创建/切换到数据库:use DatabaseName,新建一个数据库并不会显示出来,只有在向其中插入记录后才会显示

删除数据库:

?
1
db.dropDatabase()

2、创建一个集合:

?
1
db.createCollection('mall')

删除集合mall:

?
1
db.mall.drop()

3、创建用户。给数据库mall创建一个用户:

?
1
db.createUser({"user":"root",pwd:"mallroot",roles:[{role:'dbOwner',db:'mall'}]})

4、向数据库导入JSON文件。退出mongo,在cmd下执行:

?
1
mongoimport -d mall -c user --file F:\resource\mall-users

就将mall-users文件导入到mall数据库的user集合中

5、向集合mall中插入一条记录:

?
1
db.mall.insert({"name":"小米6","price":"2699"})

像json格式一样,以键值对的形式(key=>value)将你想要插入的数据写入即可。

6、删除一条数据:

?
1
db.mall.remove({mID:1005})

删除mID为1005的一条数据,注意如果在插入的时候{mID:"1005"}为字符串类型,{mID:1005}为number类型

7、修改一条数据:

?
1
db.mall.update({name:"小米6"},{$set:{price:"2399"}})

update中第一个参数是修改数据的条件,第二个参数利用$set设置修改的键值

8、查看集合中的数据:

?
1
db.mall.find()

在后面加.pretty()可以格式化查看其中数据。

条件查询:

?
1
db.mall.find({price:{$lt:2000}})

  查询price低于2000的条目

9、数组操作

占位符$代表数组的下标,例如只更新cartList数组中满足条件的元素,

?
1
2
3
user.update({conditions},{
  $set:{"cartList.$.productNum":productNum}
 })

$addToSet: 如果数组中没有该数据,向数组中添加数据,如果该数组中有相同数组,不添加

?
1
2
3
user.update({conditions},{
  $addToSet:{cartList:cartItem}
 })

$pop:删除数组数据,1从头删除,-1从尾删除

?
1
2
3
user.update({conditions},{
  $pop:{cartList:1}
 })

$pull:删除指定数据,例如对指定userId下的cartList数组删除其中指定的productId的元素      

?
1
2
3
4
5
user.update({userId:userId},{
  $pull:{
   cartList:{productId:productId}
  }
 }

$push:向数组中插入一个元素、$each 遍历数组、$sort 对数组进行排序、$slice 对数组进行裁减、$position 指定插入数据的位置。

?
1
2
3
4
5
6
7
8
9
10
11
db.test.update( { _id: 5 },
 { $push: { quizzes: { $each: [ { wk: 5, score: 2 },
                { wk: 6, score: 1 },
                { wk: 7, score: 3 } ], //遍历插入数据
            $sort: { score: -1 },     //按score降序
            $slice: 3,           //裁剪只留下前三条数据
            $position:2          //从第二个位置开始插入
           }
      }
 }
 );

希望本文所述对大家MongoDB数据库程序设计有所帮助。

原文链接:https://blog.csdn.net/theVicTory/article/details/79623117

延伸 · 阅读

精彩推荐
  • MongoDBMongoDB多条件模糊查询示例代码

    MongoDB多条件模糊查询示例代码

    这篇文章主要给大家介绍了关于MongoDB多条件模糊查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值...

    浅夏晴空5902020-05-25
  • MongoDB在mac系统下安装与配置mongoDB数据库

    在mac系统下安装与配置mongoDB数据库

    这篇文章主要介绍了在mac系统下安装与配置mongoDB数据库的操作步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...

    CXYhh1219312021-11-14
  • MongoDBWindows下MongoDB配置用户权限实例

    Windows下MongoDB配置用户权限实例

    这篇文章主要介绍了Windows下MongoDB配置用户权限实例,本文实现需要输入用户名、密码才可以访问MongoDB数据库,需要的朋友可以参考下 ...

    MongoDB教程网3082020-04-29
  • MongoDBMongoDB查询之高级操作详解(多条件查询、正则匹配查询等)

    MongoDB查询之高级操作详解(多条件查询、正则匹配查询等)

    这篇文章主要给大家介绍了关于MongoDB查询之高级操作(多条件查询、正则匹配查询等)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者...

    w田翔3872020-12-19
  • MongoDBMongoDB的索引

    MongoDB的索引

    数据库中的索引就是用来提高查询操作的性能,但是会影响插入、更新和删除的效率,因为数据库不仅要执行这些操作,还要负责索引的更新 ...

    MongoDB教程网2532020-05-12
  • MongoDBMongoDB系列教程(五):mongo语法和mysql语法对比学习

    MongoDB系列教程(五):mongo语法和mysql语法对比学习

    这篇文章主要介绍了MongoDB系列教程(五):mongo语法和mysql语法对比学习,本文对熟悉Mysql数据库的同学来说帮助很大,用对比的方式可以快速学习到MongoDB的命...

    MongoDB教程网3252020-05-01
  • MongoDBMongodb索引的优化

    Mongodb索引的优化

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。接下来通过本文给大家介绍Mongodb索引的优化,本文介绍的非常详细,具有参考借鉴价值,感...

    MRR3252020-05-05
  • MongoDBmongodb数据库基础知识之连表查询

    mongodb数据库基础知识之连表查询

    这篇文章主要给大家介绍了关于mongodb数据库基础知识之连表查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mongodb具有一定的参...

    ZJW02155642020-05-22