下载安装包

https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.0.0-signed.msi?_ga=1.22066811.1599532380.1422017396

安装及基本语法

http://jingyan.baidu.com/article/ed15cb1b52b8661be2698162.html

基本语法

插入:

for(i=3;i<100;i++) db.table.insert({x:i})

查询:

db.table.find().skip(3).limit(2).sort({x:1}) // 跳过前三条,查询两条数据,并按x的正序排序

db.table,find().count() // 查询数据数量

db.table.find({m:{$exists:true}}) // 查询存在m字段的数据,true存在,false不存在

db.table.find({m:{$exists:true}}).hint("index_name") // 查询时强制使用索引

更新:

db.table.update({x:1},{x:999},true,true) // 第三个参数表示如果更新的数据不存在,则插入一条数据;更新时默认更新符合条件的第一条数据,第四个参数为true,则更新所有符合条件的数据

db.table.update({z:100},{$set:{y:100}}) // 更新部分数据

删除:

db.table.remove({x:1}) // 默认删除所有符合条件的数据

db.table.remove({}); // 删除集合中的所有数据

db.table.drop() // 删除表中所有的数据,并把表删除

db.dropDatabase() // 删除数据库

索引:

db.table.ensureIndex({x:1}) // 创建单键索引

db.table.ensureIndex({x:1,y:-1}) // 创建复合索引,1和-1表示排序

db.table.ensureIndex({x:1},{expireAfterSeconds:30}) // 创建过期索引,一段时间后插入的数据自动删除,expireAfterSeconds单位是秒

过期索引的限制:

1、存储在过期索引字段的值必须是指定的时间类型,ISODate或者ISODate数组,不能用时间戳(new Date())

2、如果指定了ISODate数组,则按照最小的时间进行删除

3、过期索引不能是复合索引

4、删除时间不是精确的,删除过程是有后台程序每60s跑一次,而且上次也是需要一些时间

db.table.getIndexes() // 查询索引

db.table.dropIndex("index_name") // 删除索引,index_name是索引的名字

db.table.ensureIndex({x:1},{name:"index_name"}) // 自定义索引的名字,如果没有第二个参数,mongo会给索引一个默认名字

db.table.ensureIndex({x:1},{unique:true}) // 唯一索引,唯一性

db.table.ensureIndex({x:1},{sparse:true}) // 稀疏索引,稀疏性,不必为不存在x字段的数据创建索引,如果强制使用索引查找不存在x的数据,则查不到数据

全文索引

db.table.ensureIndex({key1:"text",key2:"text"}) // 创建全文索引,value为text

db.table.ensureIndex({"$**":"text"}) // 表示对集合中所有字段,创建全文索引

db.table.find({$text:{$search:"coffee"}}) // 查找全文索引

db.table.find({$test:{$search:"aa bb cc"}}) // 查找多个关键词,用空格分开,“或”查询,含有其中一个

db.table.find({$test:{$search:"\"aa\" \"bb\" \"cc\""}}) // 查找多个关键词,“与“查询,都包含,用引号把关键词包裹起来

db.table.find({$test:{$search:"aa bb -cc"}}) // 查找多个关键词,但不包含cc

db.table.find({$test:{$search:"aa bb"}}, {score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}}) // 查找相似度并排序,得分越高,越相似

全文索引的限制:

1、每次查询,只能指定一个$text查询

2、$text查询不能出现在$nor查询中

3、查询中如果包含了$text,hint不再起作用

4、mongoDB全文索引还不支持中文

地址位置索引:

2D索引:平面地址位置索引

db.table.ensureIndex({w:"2d"}) // 值是2d

db.table.insert({w:[经度,纬度]})

db.table.find({w:{$near:[1,1],$maxDistance:10}}) // 10个点范围内,查询距离某个点最近的点

db.table.find({w:{$geowithin:{$box:[[0,0],[3,3]]}}}) // 查询某个形状内的点

1、$body:矩形

{$body:[[x1,y1],[x2,y2]]} // 左边界和右边界

2、$center:圆形

{$center:[[x1,y1],r]} // 圆心位置和半径

3、$polygon:多边形

{$polygon:[[x1,y1],[x2,y2],[x3,y3],……]}

2Dsphere索引:球面地理位置索引

db.table.ensureIndex({w:"2dsphere"})

GeoJSON:描述一个点,一条直线,多边形等形状

格式:{type:"",coordinates:[<coordinates>]}

geoNear查询:

db.runCommand({geoNear:<collection>,near:[x,y],minDistance:(对2d索引无效),maxDistance:10,num:2(查询个数)})

备份策略

命令行备份:mongodump/mongorestore   mongodump将mongodb的数据导出至BSON文件,mongorestore将BSON文件的数据导入到mongodb中

文件系统备份

Backup服务

MongoDB中条件操作符有:

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte
    db.table.find({age : {$lt :24, $gt : 17}})

转载于:https://www.cnblogs.com/liuwei9002/p/4961226.html

mongodb搭建和基本语法相关推荐

  1. react+express+mongodb搭建个人博客

    这是本人用React+Express+mongodb搭建的一个简易博客系统,包括前端展示和后台管理界面.查看源码欢迎访问我的github 以下是参考我的源码后的操作 技术架构 前端 基础:HTML+C ...

  2. 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能

    MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...

  3. 用Node.JS+MongoDB搭建个人博客(成品展示)

    在博客里可以随意畅写和分享自己喜欢的技术,和网友分享知识也是一种提升.根据自己所发表的博客也能更加加深印象. 与此同时写博客也可以提高自己的写作能力(虽然不咋地),但我相信博客只会越写越有质量的. 个 ...

  4. nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客

    GitHub: https://github.com/nswbmw/N-blog N-blog 使用 Express + MongoDB 搭建多人博客 开发环境 Node.js: 6.9.1 Mong ...

  5. 在Windows环境下MongoDB搭建和简单操作

    更多总结内容参考:怎么样MongoDB搭建Java环境-总结 下面主要是在Windows上(WinXP)安装.运行.安装Windows服务的笔记,以作备忘. 1.下载 下载地址:http://www. ...

  6. vue+node+mongodb 搭建一个完整博客

    Vue + Node + Mongodb 开发一个完整博客流程 前言 前段时间刚把自己的个人网站写完, 于是这段时间因为事情不是太多,便整理了一下,写了个简易版的博客系统 服务端用的是 koa2框架 ...

  7. 第1章 Express MongoDB 搭建多人博客

    学习环境 Node.js : 0.10.22 + Express : 3.4.4 + MongoDB : 2.4.8 + 快速开始 安装 Express express 是 Node.js 上最流行的 ...

  8. 玩转MongoDB—搭建MongoDB集群

    1 概述 如题,本次玩转MongoDB我们从搭建集群开始,话说MongoDB一共有三种搭建集群的方式,但是由于版本更新,据说在4.0版本之后第一种方式,也就是主从复制的方式被遗弃掉了,大概是因为这种方 ...

  9. MongoDB命令及SQL语法对比

    2019独角兽企业重金招聘Python工程师标准>>> mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三 ...

  10. Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 今天进行第一块的复习,首先是环境的搭建,java开发的首先任务就是环境变量的配置和环境的 ...

最新文章

  1. 【Excel】VBA批量修改文件名
  2. UDP(首部)和TCP(首部、三次握手、四次挥手、可靠传输、滑动窗口、流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复))
  3. python网络爬虫权威指南 豆瓣_豆瓣Python大牛写的爬虫学习路线图,分享给大家!...
  4. [转载] Google Java代码规范
  5. Android 驱动(12)---Linux DTS(Device Tree Source)设备树详解
  6. php 虚类,减伤、虚弱类技能汇总 - 游戏服务区 - 《洛克王国》官方论坛 - Powered by Discuz!...
  7. 马云老师给AI留了几句话
  8. linux系统编程shell,Linux系统中的 Shell 编程
  9. 红旗Linux 网卡bond,Linux双网卡绑定一个IP的实现
  10. java 生成uuid
  11. jvm软引用、强引用、虚引用简介
  12. EasyExcel导出Excel 自定义 表头颜色
  13. Python之MRO
  14. 用PS怎样把图片改为100k的图片
  15. UE4 蓝图接口 BluePrint Interface
  16. 图像处理-1 带色彩恢复的多尺度视网膜增强算法
  17. 小草与大树的一分钟演讲
  18. 库 01_EOS 普元 EOS Platform 7.6 开发版安装时没装coframe,后续再部署coframe源码的操作步骤
  19. 江苏linux系统自考试卷,【历年真题】2020年8月江苏自考专科《操作系统概论》真题与答案...
  20. 苹果或推出自家搜索引擎;阿里推出阿里云网盘对标百度云盘;腾讯云公布5G产品矩阵 | EA周报...

热门文章

  1. 运行出现Server Tomcat v8.5 Server at localhost failed to start.和A child container failed during start...
  2. Codeforces Round #580 (Div. 1)(CF1205)A-E
  3. SpringMvc @PathVariable 工作原理
  4. emacs org-mode 常用命令
  5. java web基础 --- URL重定向Filter
  6. Hibernate注解----关联映射注解以及课程总结详解----图片版本
  7. 常见OJ提交结果对照表
  8. 这样保养让你皮肤变水嫩 - 生活至上,美容至尚!
  9. 116 Python GIL全局解释器锁
  10. 120 Python程序中的线程操作-队列