MongoDB_1

     突然想去看下MongoDB的东西,于是有了这篇文章。其实很早以前就看过一些关于NoSql的文章,还记得当时里面有介绍MongoDB的,多瞅了2眼,并且在Window下安装了MongoDB的驱动,小玩了会。今天重新翻出来,没成想在命令行下竟然没有能成功连接到MongoDB。一顿Baidu后发现了问题,原来是上次非正常退出MongoDB导致的问题,照猫画虎,解决了问题:贴这里以备不时之需,

1、删除%MONGO_HOME%/db下的.lock文件 
2、输入命令 mongod --repair 
3、重启mongoDB
这里只对MongoDB的使用做一些简单记录,环境配置什么的,请参考:MongoDB配置安装

客户端连接mongodb

在client的shell里,执行mongo.exe 

如何正常退出mongodb

在client的shell里,use admin,执行db.shutdownServer()即可! 

创建表

db.createCollection('zylTest') 

插入记录

  单条记录:

  db.zylTest.insert({"name":"zhoujy"}) 

  多条记录

  db.zylTest.insert([{"a":1,"b":2},{"a":2,"b":3},{"a":3,"b":4}])

插入记录将按照Json结构来定义,若多条记录的格式不相同,mongodb会自行做出处理

删除记录

单条删除:db.zylTest.remove({"name":"zhoujy"})

全部删除:db.zylTest.remove() 

更新记录:

  $【inc】用于int类型的列加减操作

  这个部分比较麻烦:我们先来看【$inc】这个操作,【$inc】 用于int类型的key(列)加减操作,要是指定的要更新的key不存在,则会新增该key(列):以下面的操作为例:

如上图所示在之前的结构中并不包含【pv】这一列,若第一次执行下面的操作,数据库结构将发生响应的变化

db.zylTest.update({"name":"zhoujy"},{"$inc":{"pv":1}})

多次执行,列Pv的值将按输入数值相加

相关命令行:

  只更新第一条出现的记录,+1

  db. zylTest.update({"name":"a"},{"$inc":{"pv":1}})   

  更新所有符合条件的记录,+1;(第4个参数是true)

  db. zylTest.update({"name":"a"},{"$inc":{"pv":1}},false,true) 

  要是更新条件找不到记录,默认是不执行;要是第3个参数是true,则会新增一条记录,包含完整的数据结构

  db. zylTest.update({"name":"a"},{"$inc":{"pv":1}},false,true) 

  总之上面的查询相当于SQL中的

  update zylTest set pv=pv+1 where name =' zhoujy'

 

$【set】用于更新指定列

$set 用于更新指定key(列),要是指定的要更新的key不存在,则会新增该key(列): 

相关命令行:

  只更新第一条出现的记录

  db. zylTest.update({"a":1},{"$set":{"b":"A"}})

  更新所有符合条件的记录(第4个参数是true),若没有符合条件的记录则不执行任何操作,当第三个参数为true的时候,若找不到符合条件的记录则会新增一条记录.

  db. zylTest.update({"a ":-1},{"$set":{" b ":"A"}},false,true) 

  update zylTest set b=’A’ where a ='1 

$【unset】 用于删除指定的列 

  删除第一条b为2的记录的列A

  db.zylTest.update({"b":2},{"$unset":{"a":1}})

  删除复合条件的记录的列A,第3个参数没有意义

  db.zylTest.update({"b":"2"},{"$unset":{"a":1}},true,true)

  删除所有记录的列A

  db.zylTest.update({},{"$unset":{"a":1}},false,true)      

 

其余更新操作暂时省略 

查询

  返回所有记录

  db.zylTest.find()  

 

  条件查询

  db.zylTest.find({"a":1})

  db.zylTest.find({"a":1,"b":2})

 

  In or not in

  db.zylTest.find({"a":{"$in":[1,3,5,8]}})

  db.zylTest.find({"a":{"$nin":[1,3,5,8]}}) 

 

  Or查询

  db.zylTest.find({"$or":[{"a":1},{"b":"2"}]})

  db.zylTest.find({"$or":[{"a":{"$in":[1,2,3]}},{"b":"3"}]}) 

 

  不等条件查询:

  $lt(<);$lte(<=);$gt(>);$gte(>=);$ne(<>)

  db.zylTest.find({"a":{"$gt":1,"$lte":5}})

  db.zylTest.find({"a":{"$gt":1,"$lte":5,"$ne":3}}) 

 

  限制查询:

  db.zylTest.find({"a":{"$in":[1,3,5,8]}}).limit(1)

 

  排序:

  db.zylTest.find({"b":2}).sort({"a":-1})

 

  匹配查询:

  这块没有看明白,后面再补充吧

 

 

 

转载于:https://www.cnblogs.com/mfkaudx/p/3574004.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pyqt5从子目录加载qrc文件_实战PyQt5: 045-添加资源文件

添加资源文件在使用PyQt进行图形界面开发的时候不免要用到一些外部资源&#xff0c;比如图片&#xff0c;qss配置文件等。在前面代码中&#xff0c;遇到这类问题&#xff0c;我们使用绝对路径的方式来解决&#xff0c;这种方式&#xff0c;本身有其不方便之处(比如&#xff0c;…

西门子ddc_铁门关西门子两通电动阀VVF42.25-10C+SKD60西

铁门关西门子两通电动阀西SIEMENS/西门子电动温控阀、控制箱、电动蝶阀、电动球阀、超声波热量表、超声波流量计、电磁流量计阀体灰口铸铁 EN-GJL-2502.霍尼韦尔主营&#xff1a;楼宇资料系统、热网自控系统、风机盘管电动两通阀、空气压差开关、水流开关、电动执行器、风阀执行…

JS-键盘事件之方向键移动元素

注意三点&#xff1a; 1&#xff1a;事件名称onkeydown。 2&#xff1a;事件加给document&#xff0c;而非window。 3&#xff1a; 把元素的top&#xff0c;left值分别用offsetTop&#xff0c;offsetLeft来设定。 <!DOCTYPE html> <html><head><meta char…

Swift学习字符串、数组、字典

一.字符串的使用 let wiseWords "\"I am a handsome\"-boy" var emptyString "" if emptyString.isEmpty{ println("这是一个空值") }简单说明&#xff1a;isEmpty方法是用来判断字符串是否为空值的&#xff0c;之后会执行if语句中的…

python对excel操作简书_Python读写Excel表格,就是这么简单粗暴又好用

最近在做一些数据处理和计算的工作&#xff0c;因为数据是以.CSV格式保存的&#xff0c;因此刚开始直接用Excel来处理。 但是做着做着发现重复的劳动&#xff0c;其实并没有多大的意义&#xff0c;于是就想着写个小工具帮着处理。 以前正好在一本书上看到过&#xff0c;使用Pyt…

halcon/c++接口基础 之 halcon初认识

从今天开始&#xff0c;开始更新博客&#xff0c;主要分享自己最近正在翻译的Halcon/C教程。先给出第一篇文章&#xff0c;由于此文章&#xff0c;是用latex写的&#xff0c;直接导成html&#xff0c;保存在七牛云存储上&#xff0c;所以直接点击链接就看到&#xff0c;后面我将…

指数型组织形成的 9 大驱动因素

指数时代&#xff0c;是一个前所未有的激动人心的世界。 Airbnb, 谷歌, 亚马逊和GitHub这些知名的公司&#xff0c;都有一个让人称羡的共同点&#xff0c;那就是——他们都是非常成功的指数型组织&#xff08;Exponential Organizations&#xff0c;ExO’s&#xff09;。 “在当…

mysqld:表mysql.plugin不存在_99%测试工程师不知道的数据库知识|干货

点击上方“蓝字”关注我们数据库&#xff0c;简而言之可视为电子化的文件柜——存储电子文件的处所&#xff0c;用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立…

Windows Phone 执行模型概述

Windows Phone 执行模型控制在 Windows Phone 上运行的应用程序的生命周期&#xff0c;该过程从启动应用程序开始&#xff0c;直至应用程序终止。 该执行模型旨在始终为最终用户提供快速响应的体验。为此&#xff0c;在任何给定时间内&#xff0c;Windows Phone 仅允许一个应用…

halcon/c++接口基础 之 构造函数与Halcon算子

Halcon/C提供了构造函数&#xff0c;主要基于适合的Halcon算子。比如说HImage和HBarCode基于read_image and create_bar_code_model。 请注意当前的Halcon版本针对不同的算子构造函数的功能不同。如下我们介绍了一些最常用的Halcon算子&#xff0c;而一个完整的构造函数列表可…

bat自动输入用户名和密码_「小白到大牛之路6」交换机后台管理之重复输入用户名和密码...

项目需求解决项目5中存在的问题&#xff1a;用户名和密码只能输入一次。如果输入错误&#xff0c;就没有机会重新输入。项目实现#include int main(void) {// 定义变量&#xff0c;用来表示用户名和密码char name[32];char password[16];//输入用户名和密码while (1) {// 输入用…

halcon/c++接口基础 之 析构函数和Halcon算子

所有的HALCON/C类都提供了默认的析构函数用来自动销毁对应的内存。对于某些类&#xff0c;析构函数基于适合的算子&#xff1a; Windows: HWindow类的析构函数基于close_window关闭窗口。注意&#xff1a;算子本身不是析构器。你可以选择调用CloseWindow关闭窗口&#xff0c;…

ios 上传图片到阿里云的oss_JEECG BOOT 上传如何同时支持阿里OSS、Minio、本地存储

Jeecg-Boot 提供了文件及图片上传功能&#xff0c;前两个文件已介绍了MinIO和OSS配置&#xff0c;现在可根据需要选择上传方式。文件上传接口(图片/文件)在yml文件中可切换图片/文件存储方式访问路径上送参数说明在yml文件中可切换图片/文件存储方式local为本地存储minio为使用…

halcon/c++接口基础 之内存管理

所有的HALCON类&#xff0c;不仅仅HImage,HRegion,HTuple&#xff0c;HFramegrabber等等&#xff0c;还有面向过程的方法中使用的Hobject&#xff0c;都可以使用默认的析构器自动释放内存。 &#xff08; see also section 2.4 “Destructors and Halcon Operators”)&#xf…

python时间格式_python 格式化日期

常用的时间函数如下 获取当前日期&#xff1a;time.time() 获取元组形式的时间戳&#xff1a;time.local(time.time()) 格式化日期的函数(基于元组的形式进行格式化)&#xff1a; &#xff08;1&#xff09;time.asctime(time.local(time.time())) &#xff08;2&#xff09;ti…

halcon/c++接口基础 之异常处理

关于运行错误&#xff0c;HALCON/C默认打印错误信息并且终止程序。然而在某些应用中&#xff0c;放宽这个法则可能更有用。比如&#xff0c;如果一个应用要求用户交互式地指定一个图像文件读取&#xff0c;如果因为用户不能拼错文件名而终止程序的话&#xff0c;会很不方便。因…

SVN学习(二)——SVN 提交、更新、解决冲突等操作步骤

1. 纳入版本控制 ①新建文件abc.txt ②在文件上点右键 ③添加后文件图标发生变化 2. 提交 ①使用TortoiseSVN可以提交具体某一个文件&#xff0c;或某一个目录下的所有改变。方法就是在想要提交的项目下点右键&#xff0c;然后SVN Commit...&#xff0c;就可以看到如下界面 ②日…

dat文件打开乱码_5.2 实战1:解决在Linux下打开Windows汉字文本的乱码问题

今天MK继续来分享linux的学习文章&#xff0c;今天讲的主要是实战部分。1&#xff0e;实验环境&#xff1a;CentOS 7.5 现在系统默认使用的语言是汉语。&#xff08;系统中必须安装好中文包&#xff09;。2&#xff0e;在windows系统上编辑名字为“a此文件在windows下打开正常-…

整理:深度学习 vs 机器学习 vs 模式识别

发表于2015-03-24 22:58| 11934次阅读| 来源个人博客| 26 条评论| 作者Tomasz Malisiewicz 模式识别深度学习机器学习数据科学家摘要&#xff1a;本文我们来关注下三个非常相关的概念&#xff08;深度学习、机器学习和模式识别&#xff09;&#xff0c;以及他们与2015年最热门的…

halcon/c++接口基础 之 HALCON图像变量类

在HALCON/C中&#xff0c;HObject是一个基类&#xff0c;可以表示图像变量。另外还有三种类继承自HObject. Class HImage 处理图像Class HRegion 处理区域Class HXLD 处理多边形 Regions 一个region是图像平面坐标点的集合。这样一个区域不需要被连通&#xff0c;而且可能还…