原始资料地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html
一、下载mongodb
https://www.mongodb.org/downloads(我下载了mongodb-win32-x86_64-2008plus-ssl-3.0.5-signed.msi)
有32bit和64bit,这个就要看你系统了,不过这里有两点注意:
①:根据业界规则,偶数为“稳定版”(如:1.6.X,1.8.X),奇数为“开发版”(如:1.7.X,1.9.X),这两个版本的区别相信大家都知道吧。
②:32bit的mongodb最大只能存放2G的数据,64bit就没有限制。
二、安装
双击安装。mongodb-win32-x86_64-2008plus-ssl-3.0.5-signed.msi
三、启动
①进入到mongodb的安装目录下的bin下,执行
D:\ProgramFiles\MongoDB\Server\3.0\bin>mongod --dbpath=E:\mongodb\db
--dbpath=E:\mongodb\db 指定mongodb的数据存放位置
拿浏览器 访问 http://localhost:27017
看到It looks like you are trying to access MongoDB over HTTP on the native driver port.这句话,说明你启动成功了。
②启动客户端链接mongodb server
再打开一个cmd.exe窗口
进入到mongodb的安装目录下的bin下,执行
mongo
2015-07-30T16:26:54.185+0800 I CONTROL Hotfix KB2731284 or later update is not installed, will zero-out data files MongoDB shell version: 3.0.5 connecting to: test >
显示上面这段,说明客户端链接成功
④基本操作
说下基本的“增删查改“,mongo同时也是一个js的编译器,默认连接的是“test”数据库。
<1> insert 操作
好,数据库有了,下一步就是集合,这里就取集合名为“person”,要注意的就是文档是一个json的扩展(Bson)形式。
<2> find 操作
我们将数据插入后,肯定是要find出来,不然插了也白插,这里要注意两点:
① “_id": 这个字段是数据库默认给我们加的GUID,目的就是保证数据的唯一性。
② 严格的按照Bson的形式书写文档,不过也没关系,错误提示还是很强大的。
<3> update操作
update方法的第一个参数为“查找的条件”,第二个参数为“更新的值”,学过C#,相信还是很好理解的。
<4> remove操作
remove中如果不带参数将删除所有数据,呵呵,很危险的操作,在mongodb中是一个不可撤回的操作,三思而后行。
四
1: Insert操作
上一篇也说过,文档是采用“K-V”格式存储的,如果大家对JSON比较熟悉的话,我相信学mongodb是手到擒来,我们知道JSON里面Value
可能是“字符串”,可能是“数组”,又有可能是内嵌的一个JSON对象,相同的方式也适合于BSON。
常见的插入操作也就两种形式存在:“单条插入”和“批量插入”。
① 单条插入
先前也说了,mongo命令打开的是一个javascript shell。所以js的语法在这里面都行得通,看起来是不是很牛X。
② 批量插入
这玩意跟“单条插入”的差异相信大家应该知道,由于mongodb中没有提供给shell的“批量插入方法”,没关系,各个语言的driver都打通
了跟mongodb内部的批量插入方法,因为该方法是不可或缺的,如果大家非要模拟下批量插入的话,可以自己写了for循环,里面就是insert。
2:Find操作
日常开发中,我们玩查询,玩的最多的也就是二类:
①: >, >=, <, <=, !=, =。
②:And,OR,In,NotIn
这些操作在mongodb里面都封装好了,下面就一一介绍:
<1>"$gt", "$gte", "$lt", "$lte", "$ne", "没有特殊关键字",这些跟上面是一一对应的,举几个例子。
<2> "无关键字“, "$or", "$in","$nin" 同样我也是举几个例子
<3> 在mongodb中还有一个特殊的匹配,那就是“正则表达式”,这玩意威力很强的。
<4> 有时查询很复杂,很蛋疼,不过没关系,mongodb给我们祭出了大招,它就是$where,为什么这么说,是因为$where中的value
就是我们非常熟悉,非常热爱的js来助我们一马平川。
3:Update操作
更新操作无非也就两种,整体更新和局部更新,使用场合相信大家也清楚。
<1> 整体更新
不知道大家可还记得,我在上一篇使用update的时候,其实那种update是属于整体更新。
<2> 局部更新
有时候我们仅仅需要更新一个字段,而不是整体更新,那么我们该如何做呢?easy的问题,mongodb中已经给我们提供了两个
修改器: $inc 和 $set。
① $inc修改器
$inc也就是increase的缩写,学过sql server 的同学应该很熟悉,比如我们做一个在线用户状态记录,每次修改会在原有的基础上
自增$inc指定的值,如果“文档”中没有此key,则会创建key,下面的例子一看就懂。
② $set修改器
啥也不说了,直接上代码
<3> upsert操作
这个可是mongodb创造出来的“词”,大家还记得update方法的第一次参数是“查询条件”吗?,那么这个upsert操作就是说:如果我
没有查到,我就在数据库里面新增一条,其实这样也有好处,就是避免了我在数据库里面判断是update还是add操作,使用起来很简单
将update的第三个参数设为true即可。
<4> 批量更新
在mongodb中如果匹配多条,默认的情况下只更新第一条,那么如果我们有需求必须批量更新,那么在mongodb中实现也是很简单
的,在update的第四个参数中设为true即可。例子就不举了。
4: Remove操作
这个操作在上一篇简单的说过,这里就不赘述了。
相关推荐
cppc++
cppc++
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
临时项目:使用python进行自动网页抢票,包含selenium的调用,cookie获取以及网页信息全识别
内容概要:本文档详细介绍了如何在MATLAB中利用灰狼优化算法(GWO)优化极限学习机(ELM)实现多输入单输出回归预测。内容涵盖了项目背景、目标与意义、挑战、特点与创新、应用领域、模型架构、代码实现、算法流程、数据预处理、模型训练与优化、预测与结果分析、性能评估与可视化、GUI设计等各个方面。文档不仅提供了完整的程序和详细的代码解释,还展示了实际的预测结果与真实数据的对比图。 适合人群:具备一定编程基础的数据科学家、研究人员、工程师及高校学生。 使用场景及目标:该模型主要应用于时间序列预测、金融市场建模、工业控制系统、生物信息学等领域的多输入单输出回归预测任务。目标是通过GWO优化ELM的输入权重和偏置参数,提高预测精度和模型泛化能力。 其他说明:项目还包括了模型的扩展方向和未来改进计划,以便进一步提升模型的性能和实用性。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
一个很精简的C++机器学习库
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
_基于TS算法的直线往复2-RGV系统调度研究.pdf
CPPC++_该仓库主要记录 NLP 算法工程师相关的顶会论文研读笔记
CPPC++_简洁易用的C11网络库 支持单机千万并发连接 a simple C11 network server
ASP.NET多行业智能监控快递物流源码 快递智能物流源码 仿顺丰京东物流管理系统源码 多行业智能监控快递物流源码: 功能强大,界面美观,包含 ; 具有下面模块功能:分栋监控、主控系统、传感系统、自动升降系统、扫描系统、分流系 统、智能小车、体积测量系统 可与PLC下位机进行通信连接 与K8系统进行对接 开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 4.0开发。 菜单功能:分栋监控、主控系统、传感系统、自动升降系统、扫描系统、分流系统、智能小 车、体积测量系统
!!内部代码要自己修改为自己的目录,不是立马可执行! 【一 功能】: (1) 自动查找系统数据库职位务数据库中的表 (2)根据 get_need_compaction_tables.sh 中 的阈值 version_count_max=500 筛选出需要手工进行compaction的tablets (3)根据生成的结果执行 compaction; 【二 .脚本介绍】 (1)get_need_compaction_tables.sh : 根据 version_count_max=500 筛选出需要进行compaction的表列表。 (2)auto_compact_doris_tablet.sh : 本地生成命令文件 (3)run_base.sh : 执行(2) 生成的命令文件 base compaction 类型 (4)run_cumul.sh : 执行(2)生成的命令文件 cumulative compaction 类型; 三、 使用cron 排程运行 run_cumul.sh(常用) 或 run_base.sh
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
SSM项目-RBAC权限实战
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。