windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
- windows下mongodb基础玩法系列一介绍与安装
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
- windows下mongodb基础玩法系列二CURD附加一
其中collection类似于数据库中的表,document类似于行,这样一来我们就将内容对比起来记忆学习了。
①单条插入
db.testData.insert({"name":"A","age":18})

②批量插入(直接就是一个js循环,这样看起来是不是很爽,会js应该就可以很好的玩转mongodb看,看来我要努力一点儿)
for(var i = 19 ; i < 28 ; i++) {
db.testData.insert({"name":String.fromCharCode(i+47),"age":i})
}

①整体更新(替换整个文档中除了_id的值,将一个全新的文档作为update的第二个参数)
db.testData.update({"name":"K"},{"name":"K","age":28})

②局部更新(更新一个文档中的特定字段,在这里仅仅介绍了一下$inc/$set)
$inc可以对文档的某个为数字型的值进行增减的操作。
db.testData.update({"name":"K"},{$inc:{"age":72}})
$set 更新文档中字段的值,或者是文档中嵌入式的文档的值
db.testData.update({"name":"K"},{$set:{"age":28}})
③upsert(默认情况下update()没有匹配到文档的时候,就什么也不做,但是如果是upsert(即是update的第三个参数是true的时候),没有匹配到文档得时候,会插入作为第二参数的内容作为一条新的文档)
db.testData.update({"name":"L"},{"name":"L","age":29},true)

④批量更新(这个也是我们常常遇见的问题,但是能够想到的解决方案还是循环更改,按理说这样的效率是比较低的,等后续文档时更新一下这个相关的方法,希望看见这个问题后有好的解决方案的朋友留下一点意见,谢谢)
①$gt,$gte,$lt,$lte,$ne,无特殊(>,>=,<,<=,!=,=)
demo:
db.testData.find({"age":{$gt:20}})
db.testData.find({"age":{$gte:20}})
db.testData.find({"age":{$lt:20}})
db.testData.find({"age":{$lte:20}})
db.testData.find({"age":{$ne:20}})
db.testData.find({"age":20})
②$and,$or,$in,$nin(and,or,in,not in)
demo:
db.testData.find({$and:[{"name":"A","age":18}]})
db.testData.find({$or:[{"name":"A","name":"B"}]})
db.testData.find({"name":{$in:["A","B"]}})
db.testData.find({"name":{$nin:["A","B"]}})
删除所有文档
db.testData.remove({})
上述方法只是从集合中删除了所有的文档,集合本身还是存在的,如果要直接删除集合可以使用一个更实效的方法drop()
删除符合条件的文档
db.testData.remove({"name":"A"})
本文原创博客地址:http://www.cnblogs.com/unofficial 官网地址: www.pushself.com
windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)的更多相关文章
- windows下mongodb基础玩法系列二CURD附加一
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- windows下mongodb基础玩法系列一介绍与安装
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- AB实验的高端玩法系列3 - AB组不随机?观测试验?Propensity Score
背景 都说随机是AB实验的核心,为什么随机这么重要呢?有人说因为随机所以AB组整体不存在差异,这样才能准确估计实验效果(ATE) \[ ATE = E(Y_t(1) - Y_c(0)) \] 那究竟随 ...
- eclipse下使用cygwin的方法(Windows下用eclipse玩gcc/g++和gdb)
明天就回国了,今晚回国前写写如何配置eclipse和CDT.这个配置方法网上讨论不是很多,可能用的人少,毕竟Windows上写C++程序多数喜欢VS,即使写的是Linux程序,很多人仍然会用VS(说只 ...
- windows下Mongodb图形化工具安装及配置
接上篇文章<Windows下Mongodb安装部署.docx> 一.RockMongo 1.RockMongo需要php环境,首先需要搭建php环境,选择采用 下载xampp,这里我用的是 ...
- [转载]windows下mongodb安装与使用整理
windows下mongodb安装与使用整理 一.首先安装mongodb 1.下载地址:http://www.mongodb.org/downloads 2.解压缩到自己想要安装的目录,比如d:\mo ...
- Word 查找替换高级玩法系列之 -- 段首批量添加字符
打开「查找和替换」输入框,按照下图操作: 更多查找替换高级玩法,参看:Word查找替换高级玩法系列 -- 目录篇 未完 ...... 点击访问原文(进入后根据右侧标签,快速定位到本文)
- Word 查找替换高级玩法系列之 -- 把论文中的缩写词快速变成目录下边的注释表
1. 前言 问题:Word写论文如何把文中的缩写快速转换成注释表? 原来样子: 想要的样子: 2. 步骤 使用查找替换高级用法,替换缩写顺序 选中所有文字 打开查找替换对话框,输入以下表达式: 替换后 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
随机推荐
- cpp 区块链模拟示例(六) 交易
交易(transaction)是比特币的核心所在,而区块链的唯一目的,也正是为了能够安全可靠地存储交易.在区块链中,交易一旦被创建,就没有任何人能够再去修改或是删除它.在今天的文章中,我们会实现交易的 ...
- C语言基础课第五次作业
PTA第五次作业 7-2 统计一行文本中的单词个数 一.程序代码 #include<stdio.h> int main(void) { ]; ,word=; char c; gets(st ...
- web版ssh的使用
一.web_ssh版本安装使用 web_ssh源码:https://github.com/shellinabox/shellinabox 1)安装依赖包 yum install git openssl ...
- 20175316盛茂淞 迭代和JDB
迭代和JDB 题目 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图(至少三张:正常如c( ...
- Something of HTTP
学习发现所需且所欠知识: 参考: 1.一堆博客 2.HTTP图解(链接奉上,自取)提取码: n6jq http简介 http返回状态码 http方法(点击查看) GET POST PATCH H ...
- 网页打印样式CSS
相信大多数的前端工程师都是处理显示屏上面的设计,用到最多的计量单位就是px,但是有些时候,我们难免也会有打印的需求,比如一个电商平台的“物流配送打印单”,“打印订单”等等可能都是需要从网友上打印出来的 ...
- To handling editor letter
一般崔稿信写法: Dear Editor: Sorry for disturbing you. We’re not sure if it is the right time to contact yo ...
- 机器学习面试--一句话概括传统ML算法
机器学习过程主要包括:数据的特征提取.数据预处理.训练模型.测试模型.模型评估改进等几部分 传统机器学习算法主要包括以下五类: 回归:建立一个回归方程来预测目标值,用于连续型分布预测 分类:给定大量带 ...
- Hive记录-Beeline常用操作命令
Beeline和其他工具有一些不同,执行查询都是正常的SQL输入,但是如果是一些管理的命令, 比如进行连接,中断,退出,执行Beeline命令需要带上"!",不需要终止符.常用命令 ...
- UNIGUI与UNIURLFRAME的互动
UniSession.JSCode('name_'+MainForm.UniURLFrame1.name+'_'+MainForm.UniURLFrame1.JSName+'.myinput4.inn ...