mongoDB的配置以及运行
干嘛的:数据库,nosql(非关系型)
场景:解决大规模数据集合多重数据种类
一、mongoDb安装:
下载地址: https://www.mongodb.com/download-center
上面这个地址是官方地址,有时打不开,如果打不开可以进入这个网址下载,这个网址包含了mongoDB历来的版本和最新版本;地址:http://dl.mongodb.org/dl/win32/x86_64
下载过后如图所示:
然后点击进行安装,直接一直下一步就可以了。
二、指定数据存储目录:
第一次启动mongoDB时需要指定一下路径,否则会报错。
先建立一个data文件,再data文件内建立一个db文件(可以再任意盘符下c盘/d盘/e盘,最好是在根目录下,太深容易报错);
我c盘比较大,其它盘都满了,就建立在c盘了。建议建立在d盘根目录下。
打开命令行,找到mongod.exe的路径,运行mongod.exe.
然后运行mongod --dbpath C:\data\db 即可
如果data\db文件出现下图所示,说明指定存储路径成功。
三、运行路径配置:
运行服务端,启动数据库服务,找到指定的路径,系统默认的安装路径是:C:\Program Files\MongoDB\Server\3.4\bin;找到路径点击运行mongod.exe即可;
运行客户端点击mongo.exe即可。
如果不想每次运行时都去找mongod.exe的路径(毕竟很麻烦)我们可以进行配置,下次在运行是只需要在命令行输入mongod(服务端);再打开一个命令窗口输入mongo(客户端)。我现在以windows10为例进行路径配置,其实windows7更加的简单。步骤:我的电脑-->高级系统设置(系统设置)-->环境变量-->path添加C:\Program Files\MongoDB\Server\3.4\bin即可。
如图:再电脑界面找到windows(c)图标,点击进入再点此电脑,如图所示点击系统设置。
进入系统设置,如图再点击高级系统设置,就会弹出系统属性弹框
然后点击环境变量,如图:找到path再新建中添加路径:C:\Program Files\MongoDB\Server\3.4\bin;
然后一直确定关闭弹窗即可。
然后windows键+R输入cmd,打开命令行,输入mongod即可运行服务端;
默认端口号是27017,说明服务器端链接成功;在重新打开一个命令行输入mongo运行客户端;
如图所示说明客户端连接成功。到此为止mongoDB配置完成。
四、简单API操作
1、库操作:
查: show dbs
db 查看当前库
建+使用(切换过去): use 库名 没有建,有就切换
删: db.dropDatabase() 删除当前库
2、集合(表)操作:
建:db.createCollection('表名',{配置})
配置:{size:文件大小,capped:true,max:条数|文档数} capped定量
查:show collections / db.getCollectionNames()
db.集合.isCapped() true/false 查询集合是否是定量的
删:db.集合.drop()
3、文档(row)操作:
增:
db.集合.save({}) / db.集合.insert({}) 添加一条
db.集合.save([{},{}]) / db.集合.insert([{},{}])
insert 不会替换相同ID save会替换
删:
db.集合.deleteOne({}) 删除的是第一条
db.集合.deleteOne({要删数据描述}) 删除的是符合描述第一条
db.集合.remove({},true) 一条
db.集合.remove({要删数据描述}) 多条
db.集合.remove({}) 清空表
改:
db.集合.udpate({要替换的数据},{替换后的},bl插入,bl全修改)
替换后的:
{$set:{数据},$inc:{age:1}}
查:
所有:db.集合.find(条件)
条数: db.集合.find().count()
去重:db.集合.distinct(key) 查key
条件
{age:22} age == 22
{age:{$gt:22}} age > 22
{age:{$lt:22}} age < 22
{age:{$gte:22}} age>=22
{age:{$lte:22}} age<=22
{age:{$lte:122,$gte:22}} age<=122 && age>=22
{$or:[{age:22},{age:122}]} 22 or 122
{key:value,key2,value2} value && value2
{name:/正则/}
db.集合.find({条件},{指定要显示列区域})
指定要显示列区域: 区域名username:1 显示着个区域,其他不显示
指定要显示列区域: 区域名username:0 不显示着个区域,其他显示
_id 是默认显示
限定:
db.集合.find().limit(number) 限定
db.集合.find().skip(number) 跳过
db.集合.findOne() / db.集合.find().limit(1) 查询第一条
排:
升:db.集合.find().sort({key:1})
降:db.集合.find().sort({key:-1})
db.集合.find({条件},{指定显示区域}).skip(页码*一页条数).limit(一页条数).sort({key:1})
五、nodejs + mongodb
1. require('mongodb'); 引入模块 需要npm安装
2. 创建客户端 mongoCt = mongodb.MongoClient
3. 链接库 mongoCt.connect('协议://地址:端口/库名',回调(err,db))
db 库对象
4. 链接集合(表) user = db.collection('集合名');
5. user.API() 表操作 返回 对象
user.API().toArray((err,result)=>{reulst==arr})
六、mongoDB和mysql对比
名词
mysql mongoDb
database(库) database(库)
table(表) collection(集合)
row(一条数据) document(文档)
column(字段) field(区域)
...
存储方式:
mysql 二维表
MongoDB json
更多文档可以查看MongoDB中文网。
mongoDB的配置以及运行的更多相关文章
- mongoDB 安装配置
1. 配置文件: 建立配置文件 :mongodb.conf dbpath=D:\mongoDb\data\db #配置数据库目录路径,预先手动创建db目录 logpath=D:\mongoDb\dat ...
- MongoDB启动配置等
目录: 一.mongoDB 启动配置 二.导出,导入,运行时备份 三.Fsync锁,数据修复 四.用户管理,安全认证 一.启动项 mongod --help C:\Windows\system32&g ...
- MongoDB安装配置教程
数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建一个 ...
- mongodb数据库环境配置
数据是每一前端人员必定接触的一样,所有的数据都是后端来编写,如果自己想练习项目,却没有数据,而是写一些假数据,去编写,或者通过json-server搭建一个数据,今天我们就通过MongoDB来搭建一个 ...
- python爬虫-MongoDB安装配置
MongoDB安装配置: 在安装配置MongoDB的过程中遇到了很多问题,现在重新梳理一遍安装流程.遇到的问题及其解决方法 系统版本:Windows 10 MongoDB版本:4.2.1 1.下载地址 ...
- MongoDB的配置、启动、关闭
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(三):配置ActiveXForm运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- MongoDB C Driver and APIinstances linux MongoDB安装配置
<一,linux平台MongoDB安装配置>在这我们使用的Centos6 yum部署的,你想搞编译,自个干!
- Editplus配置java运行环境
Editplus配置java运行环境 下载及安装: editplus官网下载地址:https://www.editplus.com/ 安装方法和安装普通exe应用程序一样,选在安装路径,下一步下一步, ...
随机推荐
- Error: Cannot find module PhantomJS
node install.js Considering PhantomJS found at /usr/local/bin/phantomjs Looks like an `npm install - ...
- php 匹配替换中文
1.匹配中文 $str = "中文“; preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$str,$match); 2.替换中文: 在所 ...
- php 全局变量问题
当在函数里通过require_once包含另外php文件. 而另外php文件包含了另外php文件,而该php文件的函数需要另外的php文件. 例子: installment_maintenance_s ...
- python 线程 event
全局定义了一个“Flag”,如果“Flag”值为 False,那么当程序执行 event.wait 方法时就会阻塞,如果“Flag”值为True,那么执行event.wait 方法时便不再阻塞. cl ...
- F - 回转寿司 (权值线段树)
题目链接:https://cn.vjudge.net/contest/281960#problem/F 题目大意:中文题目 具体思路:权值线段树,我们每次寻找的是满足 (i<j) L< ...
- 七、Sparse Autoencoder介绍
目前为止,我们已经讨论了神经网络在有监督学习中的应用.在有监督学习中,训练样本是有类别标签的.现在假设我们只有一个没有带类别标签的训练样本集合 ,其中 .自编码神经网络是一种无监督学习算法,它使用 ...
- 优秀的gdb图形化前端调试器
目前我自己最喜欢的还是 ddd . gdbgui 和 vim-vebugger插件或vimgdb插件 三种. You could try using Insight a graphical front ...
- SharePoint 2013 Workflow Manager 1.0 卸载
一:环境 Window server 2012 r2 Standard SharePoint Server 2013 with sp1 二:开始菜单---Workflow Manager 配置---退 ...
- centos6.5下系统编译定制iptables防火墙扩展layer7应用层访问控制功能及应用限制QQ2016上网
iptables防火墙扩展之layer7应用层访问控制 概述: iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以基于网络层的数据包过滤机制为主,同 ...
- bootgrid修改成可以全勾选和全取消勾选操作
1. 引言 由于项目需要,需要在不同页面上选择全勾选能全部勾选所有的记录,反勾选也如此.这个需求可以解决了一个样例:如果有150条记录,当前页就10条,你又在每一个页面勾选部分的记录,然后,如果你要全 ...