Windows使用MongoDB,以及索引创建
安装MongoDB
https://www.mongodb.com/download-center#community
点击msi安装程序进行安装,可以进行自定义安装,选择安装位置,我选择的是D盘
在D盘根目录下创建data\db目录,用来存放数据;创建data\dbConf\mongodb.log文件存放MongoDB的日志
双击运行MongoDB服务器
将MongoDB服务器作为Windows服务运行
执行以下命令将MongoDB服务器作为Windows服务运行:
mongod.exe --bind_ip 127.0.0.1 --logpath "D:\data\dbConf\mongodb.log" --logappend --dbpath "D:\data\db" --port 27017 --serviceName "MyServiceName" --serviceDisplayName "MyServiceName" --install
下表为mongodb启动的参数说明:
参数 |
描述 |
--bind_ip |
绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP |
--logpath |
定MongoDB日志文件,注意是指定文件不是目录 |
--logappend |
使用追加的方式写日志 |
--dbpath |
指定数据库路径 |
--port |
指定服务端口号,默认端口27017 |
--serviceName |
指定服务名称 |
--serviceDisplayName |
指定服务名称,有多个mongodb服务时执行。 |
--install |
指定作为一个Windows服务安装。 |
MongDB图形化工具的安装(Robomong)
http://www.softpedia.com/get/Internet/Servers/Database-Utils/Robomongo.shtml#download
点击下一步进行安装
MongDB的简单实用使用
双击mongo.exe
1.创建数据库
use DataBase_Name
如果数据库不存在,则创建数据库,否则切换到指定的数据库
2.查看数据库
show dbs
3.插入数据文档(有该集合则直接插入,没有该集合,则自动创建)
db.集合的名字.insert({
name:'张三',
age:27
}
)
Eg:
4.更新文档
db.集合名称.update(
{'name':'张三'},{$set:{'name':'lisi'}}
)
5.查询
db.集合的名字.find()
6.删除
删除名为张三的集合
db.col.remove({'name':'张三'})
删除第一条找到的记录
db.集合的名字.remove(DELETION_CRITERIA,1)
删除所有数据
db.集合的名字.remove({})
6.条件查询
db.集合的名字.find({likes:{$gte:100}})
类似
select * from col where likes>=100
小于---$lt
小于等于----$lte
明确的范围查询大于100小于200
db.集合的名字.find({likes:{$lt:100 ,$gt:100}})
7.limit查询
db.COLLECTION_NAME.find().limit(NUMBER)
db.集合名称.find({},{"title":1,_id:0}).limit(2)
8.排序(1升序-1降序)
db.集合名字.find().sort({KEY:1})
MongoDB语法与现有关系型数据库SQL语法比较
MongoDB语法 MySql语法
db.test.find({'name':'foobar'})<==> select * from test where name='foobar'
db.test.find() <==> select *from test
db.test.find({'ID':10}).count()<==> select count(*) from test where ID=10
db.test.find().skip(10).limit(20)<==> select * from test limit 10,20
db.test.find({'ID':{$in:[25,35,45]}})<==> select * from test where ID in (25,35,45)
db.test.find().sort({'ID':-1}) <==> select * from test order by IDdesc
db.test.distinct('name',{'ID':{$lt:20}}) <==> select distinct(name) from testwhere ID<20
db.test.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}}) <==> select name,sum(marks) from testgroup by name
db.test.find('this.ID<20',{name:1}) <==> select name from test whereID<20
db.test.insert({'name':'foobar','age':25})<==>insertinto test ('name','age') values('foobar',25)
db.test.remove({}) <==> delete * from test
db.test.remove({'age':20}) <==> delete test where age=20
db.test.remove({'age':{$lt:20}}) <==> elete test where age<20
db.test.remove({'age':{$lte:20}}) <==> delete test where age<=20
db.test.remove({'age':{$gt:20}}) <==> delete test where age>20
db.test.remove({'age':{$gte:20}})<==> delete test where age>=20
db.test.remove({'age':{$ne:20}}) <==> delete test where age!=20
db.test.update({'name':'foobar'},{$set:{'age':36}})<==> update test set age=36 where name='foobar'
db.test.update({'name':'foobar'},{$inc:{'age':3}})<==> update test set age=age+3 where name='foobar'
模糊查询:$regex
db.test.find({"name":{$regex:"aaa"}})
MongoDB索引相关
查看索引:
db.getCollection('id_mapper').getIndexes()
创建索引:1表示按升序创建索引,-1表示按降序创建索引
db.getCollection('id_mapper').ensureIndex({"contract_id":1},{background: true})
注:如果在为已有数据的文档创建索引时,可以让background值为true,以使MongoDB在后台创建索引,这样的创建时就不会阻塞其他操作。但是相比而言,以阻塞方式创建索引,会使整个创建过程效率更高,但是在创建时MongoDB将无法接收其他的操作。
默认索引名称为:contract_id_1
创建复合唯一索引:
db.getCollection('id_mapper').ensureIndex({"apply_id":1,"insti_code":1},{"background":true},{"unique":true})
删除索引:删除前,一定要看好索引名称是什么
db.getCollection('id_mapper').dropIndex("contract_id_1")
db.getCollection('id_mapper').dropIndexes() 删除所有索引
双字段查询:
db.getCollection('id_mapper').find({"contract_id":"767862ce-0ca9-4673-92e5-c505d7d3686c"},{"insti_code":"1"})
有一个字段有索引就行了
创建索引后,通过程序新添加的Document会自动添加索引,已经验证过
Windows使用MongoDB,以及索引创建的更多相关文章
- Windows下MongoDB安装及创建用户名和密码
下载MongoDB的安装文件https://www.mongodb.com/download-center#community,选择合适的版本(注:本人选择的是3.2.6) 下载完MongoDB.ms ...
- windows 下mongodb 副本建创建
步骤: 一.安装mongodb 二.将安装的mongodb 复制2份 如图: 三.修改配置文件 dbpath=C:\mongofuben\zhu\data logpath=C:\mongofuben\ ...
- MongoDB索引创建(5)
索引创建 1:索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引 2. 在mongodb中,索引可以按字段升序/降序来创建,便于排序 3. 默认是用btree来组织索引文件,2. ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- windows平台使用MongoDB shell 来连接 MongoDB 服务器并创建数据库
windows平台使用MongoDB shell 来连接 MongoDB 服务器并创建数据库 命令行进入MongoDB的bin目录运行mongod.exe mongod --dbpath c:\dat ...
- windows下mongodb基础玩法系列二CURD附加一
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- Windows下Mongodb安装部署
1.下载安装包 mongodb-win32-x86_64-enterprise-windows-64-3.6.4.zip 解压 安装失败(当前环境windows server2012 R2):已验证可 ...
- windows 安装 mongodb
windows 安装 mongodb 下载 首先到官网下载合适的安装包,下载地址为 https://www.mongodb.com/download-center MongoDB for Window ...
- Windows 安装 MongoDB 服务
第一步 以管理员权限打开命令提示符 按Windows+R键(Ctrl和Alt中间的那个,有微软Logo的键),输入cmd打开命令提示符 第二步 创建数据库目录. 使用mkdir命令,创建数据库的目录和 ...
随机推荐
- tomcat的catalina.out日志按自定义时间日式进行分割
使用cronolog对tomcat的日志进行自定义日期格式的切割,方便日志的整理和遇到问题日志的排查! 1.安装cronolog工具1.1 下载 cronolog 地址:网上很多下载地址这里就不在累赘 ...
- Vue生命周期详解
Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...
- 为什么使用JDBC操作MySQL需要添加Class.forName("com.mysql.jdbc.Driver")
引言 如果熟悉使用JDBC来连接数据库的同学一定很清楚连接数据库的代码中一定会有依据Class.forName("com.mysql.jdbc.Driver"); public s ...
- MongoDB的安全写入GetLastError
这次聊聊业务中经常出现的重试现象,可能很多运维都被开发莫名其妙的艾特然后让查一查业务中出现失败的情况,很不巧刚接手MongoDB的运维就碰到了一个案例. 前段时间与业务开发讨论过某业务服务的超时重试问 ...
- leetcode — unique-binary-search-trees
/** * Source : https://oj.leetcode.com/problems/unique-binary-search-trees/ * * * Given n, how many ...
- LeetCode专题-Python实现之第28题: Implement strStr()
导航页-LeetCode专题-Python实现 相关代码已经上传到github:https://github.com/exploitht/leetcode-python 文中代码为了不动官网提供的初始 ...
- 看看.NET Core几个Options的简单使用
前言 配置,对我们的程序来说是十分重要的一部分.或多或少都会写一部分内容到配置文件中去. 由其是在配置中心(Apollo等)做起来之前,配置文件一定会是我们的首选. 在.NET Core中,习惯的是用 ...
- 第53章 结束会话端点(End Session Endpoint) - Identity Server 4 中文文档(v1.0.0)
结束会话端点可用于触发单点注销(请参阅规范). 要使用结束会话端点,客户端应用程序会将用户的浏览器重定向到结束会话URL.用户在会话期间通过浏览器登录的所有应用程序都可以参与注销. 注意 终端会话端点 ...
- [转]Gitlab-CI持续集成之Runner配置和CI脚本
本文转自:https://www.cnblogs.com/jiukun/p/7481287.html 一.简介 1. 为实现持续集成,需为该项目准备以下两样东西: 1)软件集成脚本.(gitlab-c ...
- JVM难学?那是因为你没认真看完这篇文章
一:虚拟机内存图解 JAVA程序运行与虚拟机之上,运行时需要内存空间.虚拟机执行JAVA程序的过程中会把它管理的内存划分为不同的数据区域方便管理. 虚拟机管理内存数据区域划分如下图: 数据区域分类: ...