Windows使用MongoDB,以及索引创建

时间:2022-12-30 10:58:07

安装MongoDB

https://www.mongodb.com/download-center#community

Windows使用MongoDB,以及索引创建

Windows使用MongoDB,以及索引创建

点击msi安装程序进行安装,可以进行自定义安装,选择安装位置,我选择的是D盘

在D盘根目录下创建data\db目录,用来存放数据;创建data\dbConf\mongodb.log文件存放MongoDB的日志

双击运行MongoDB服务器

Windows使用MongoDB,以及索引创建

Windows使用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)

Windows使用MongoDB,以及索引创建

http://www.softpedia.com/get/Internet/Servers/Database-Utils/Robomongo.shtml#download

Windows使用MongoDB,以及索引创建

点击下一步进行安装

MongDB的简单实用使用

双击mongo.exe

Windows使用MongoDB,以及索引创建

1.创建数据库

use DataBase_Name

如果数据库不存在,则创建数据库,否则切换到指定的数据库

2.查看数据库

show dbs

Windows使用MongoDB,以及索引创建

3.插入数据文档(有该集合则直接插入,没有该集合,则自动创建)

db.集合的名字.insert({

name:'张三',

age:27

}

)

Eg:

Windows使用MongoDB,以及索引创建

Windows使用MongoDB,以及索引创建

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,以及索引创建的更多相关文章

  1. Windows下MongoDB安装及创建用户名和密码

    下载MongoDB的安装文件https://www.mongodb.com/download-center#community,选择合适的版本(注:本人选择的是3.2.6) 下载完MongoDB.ms ...

  2. windows 下mongodb 副本建创建

    步骤: 一.安装mongodb 二.将安装的mongodb 复制2份 如图: 三.修改配置文件 dbpath=C:\mongofuben\zhu\data logpath=C:\mongofuben\ ...

  3. MongoDB索引创建(5)

    索引创建 1:索引提高查询速度,降低写入速度,权衡常用的查询字段,不必在太多列上建索引 2. 在mongodb中,索引可以按字段升序/降序来创建,便于排序 3. 默认是用btree来组织索引文件,2. ...

  4. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  5. windows平台使用MongoDB shell 来连接 MongoDB 服务器并创建数据库

    windows平台使用MongoDB shell 来连接 MongoDB 服务器并创建数据库 命令行进入MongoDB的bin目录运行mongod.exe mongod --dbpath c:\dat ...

  6. windows下mongodb基础玩法系列二CURD附加一

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  7. Windows下Mongodb安装部署

    1.下载安装包 mongodb-win32-x86_64-enterprise-windows-64-3.6.4.zip 解压 安装失败(当前环境windows server2012 R2):已验证可 ...

  8. windows 安装 mongodb

    windows 安装 mongodb 下载 首先到官网下载合适的安装包,下载地址为 https://www.mongodb.com/download-center MongoDB for Window ...

  9. Windows 安装 MongoDB 服务

    第一步 以管理员权限打开命令提示符 按Windows+R键(Ctrl和Alt中间的那个,有微软Logo的键),输入cmd打开命令提示符 第二步 创建数据库目录. 使用mkdir命令,创建数据库的目录和 ...

随机推荐

  1. NOIP 2014 pj &amp&semi; tg

    由于我太弱,去了pj组= = ============================== T1: 傻逼暴力 T2: 傻逼暴力+判断+更新 T3: 手画一下就知道了.算出这个点在第几圈,再使劲yy下在 ...

  2. Struts2上传图片时报404错误

    可能是struts配置文件中定义的拦截器导致的,后缀拦截导致,将该拦截器去掉,在action类里判断后缀 public String upload()throws Exception{ ActionC ...

  3. verilog 随笔

    不是说你在代码里定义一个reg型变量,综合器就会综合处一个寄存器来,case必须在always块里,always里面的被赋值变量必须是reg型,这是语法的规定,只能遵守.写代码的时候不要加入触发器(不 ...

  4. 根据Email地址跳转到相应的邮箱登录页面 &lpar;转&rpar;

    //跳转到指定的邮箱登录页面 $(".btn_actemail").click(function () { var uurl = $(".hide_email" ...

  5. Pelican搭建静态博客

    前言 一直以来都希望拥有属于自己的个人博客,随性发点信息,写点技术感想,记录自己的生活,重要的是不受广告的影响.不被河蟹.不会担心有一天被莫名其妙地消失. 之前看过一篇文章:"像黑客一样写博 ...

  6. USACO Section 1&period;3 Mixing Milk 解题报告

    题目 题目描述 Merry Milk Makers 公司的业务是销售牛奶.它从农夫那里收购N单位的牛奶,然后销售出去.现在有M个农夫,每个农夫都存有一定量的牛奶,而且每个农夫都会有自己的定价.假设所有 ...

  7. groovy学习&lpar;一&rpar;列表

    numbers = [11, 12, 13, 14]println(numbers[0])println(numbers[3])println(numbers[-1])//最左边的元素println( ...

  8. Commons-lang API介绍

    4.1 Commons-lang API介绍 4.1.1 StringUtils 4.1.2 StringEscapeUtils 4.1.3 ArrayUtils 4.1.4 DateUtils 4. ...

  9. ●BZOJ 2209 &lbrack;Jsoi2011&rsqb;括号序列

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2209 题解: Splay 很好的题,但是把智障的我给恶心到了...   首先不难发现,最后没 ...

  10. 题解-UOJ 455雪灾与外卖

    Problem \(\mathrm{UOJ~455}\) 题意概要:一根数轴上有 \(n\) 只老鼠与 \(m\) 个洞,每个洞有费用与容量限制,要求每只老鼠要进一个洞且每个洞的老鼠不超过自身的容量限 ...