mongodb搭建和基本语法
下载安装包
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搭建和基本语法相关推荐
- react+express+mongodb搭建个人博客
这是本人用React+Express+mongodb搭建的一个简易博客系统,包括前端展示和后台管理界面.查看源码欢迎访问我的github 以下是参考我的源码后的操作 技术架构 前端 基础:HTML+C ...
- 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能
MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...
- 用Node.JS+MongoDB搭建个人博客(成品展示)
在博客里可以随意畅写和分享自己喜欢的技术,和网友分享知识也是一种提升.根据自己所发表的博客也能更加加深印象. 与此同时写博客也可以提高自己的写作能力(虽然不咋地),但我相信博客只会越写越有质量的. 个 ...
- nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客
GitHub: https://github.com/nswbmw/N-blog N-blog 使用 Express + MongoDB 搭建多人博客 开发环境 Node.js: 6.9.1 Mong ...
- 在Windows环境下MongoDB搭建和简单操作
更多总结内容参考:怎么样MongoDB搭建Java环境-总结 下面主要是在Windows上(WinXP)安装.运行.安装Windows服务的笔记,以作备忘. 1.下载 下载地址:http://www. ...
- vue+node+mongodb 搭建一个完整博客
Vue + Node + Mongodb 开发一个完整博客流程 前言 前段时间刚把自己的个人网站写完, 于是这段时间因为事情不是太多,便整理了一下,写了个简易版的博客系统 服务端用的是 koa2框架 ...
- 第1章 Express MongoDB 搭建多人博客
学习环境 Node.js : 0.10.22 + Express : 3.4.4 + MongoDB : 2.4.8 + 快速开始 安装 Express express 是 Node.js 上最流行的 ...
- 玩转MongoDB—搭建MongoDB集群
1 概述 如题,本次玩转MongoDB我们从搭建集群开始,话说MongoDB一共有三种搭建集群的方式,但是由于版本更新,据说在4.0版本之后第一种方式,也就是主从复制的方式被遗弃掉了,大概是因为这种方 ...
- MongoDB命令及SQL语法对比
2019独角兽企业重金招聘Python工程师标准>>> mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三 ...
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 今天进行第一块的复习,首先是环境的搭建,java开发的首先任务就是环境变量的配置和环境的 ...
最新文章
- 【Excel】VBA批量修改文件名
- UDP(首部)和TCP(首部、三次握手、四次挥手、可靠传输、滑动窗口、流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复))
- python网络爬虫权威指南 豆瓣_豆瓣Python大牛写的爬虫学习路线图,分享给大家!...
- [转载] Google Java代码规范
- Android 驱动(12)---Linux DTS(Device Tree Source)设备树详解
- php 虚类,减伤、虚弱类技能汇总 - 游戏服务区 - 《洛克王国》官方论坛 - Powered by Discuz!...
- 马云老师给AI留了几句话
- linux系统编程shell,Linux系统中的 Shell 编程
- 红旗Linux 网卡bond,Linux双网卡绑定一个IP的实现
- java 生成uuid
- jvm软引用、强引用、虚引用简介
- EasyExcel导出Excel 自定义 表头颜色
- Python之MRO
- 用PS怎样把图片改为100k的图片
- UE4 蓝图接口 BluePrint Interface
- 图像处理-1 带色彩恢复的多尺度视网膜增强算法
- 小草与大树的一分钟演讲
- 库 01_EOS 普元 EOS Platform 7.6 开发版安装时没装coframe,后续再部署coframe源码的操作步骤
- 江苏linux系统自考试卷,【历年真题】2020年8月江苏自考专科《操作系统概论》真题与答案...
- 苹果或推出自家搜索引擎;阿里推出阿里云网盘对标百度云盘;腾讯云公布5G产品矩阵 | EA周报...
热门文章
- 运行出现Server Tomcat v8.5 Server at localhost failed to start.和A child container failed during start...
- Codeforces Round #580 (Div. 1)(CF1205)A-E
- SpringMvc @PathVariable 工作原理
- emacs org-mode 常用命令
- java web基础 --- URL重定向Filter
- Hibernate注解----关联映射注解以及课程总结详解----图片版本
- 常见OJ提交结果对照表
- 这样保养让你皮肤变水嫩 - 生活至上,美容至尚!
- 116 Python GIL全局解释器锁
- 120 Python程序中的线程操作-队列