windows下mongodb基础玩法系列二CURD附加一
- windows下mongodb基础玩法系列一介绍与安装
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
- windows下mongodb基础玩法系列二CURD附加一
目录
集合的创建与返回值
②这一次就不实际操作截图了,按照之前的操作我又走看一遍,这一次留意了一个小的细节。增加内容成功后会返回一个WriteResult({"nInserted":1}),这个对象表示了插入的条数。
增加多个文档的方法
//用数组存放多个文档
var users = [{
"name":"A",
"age":32
},{
"name":"B",
"age":33
},{
"name":"C",
"age":34
}];
//添加数组操作
db.testData.insert(users);
②在2.6版本之后提供了一个可以用来增加多个文档的API,具体操作流程展开代码。
//初始化bulk()
var bulk = db.testData.initializeUnorderedBulkOp();//无序列表操作
//var bulk = db.collection.initializeOrderedBulkOp();//有序列表操作
//insert至bulk对象
bulk.insert({
"name":"A",
"age":20
});
bulk.insert({
"name":"B",
"age":21
});
//调用bulk对象的execute()方法添加文档至集合
bulk.execute();
这里只是描述一下有这两个方法,暂时不做深入学习,感觉挺需要深入学习的一点,后续跟踪一下。
目录
指定查询与条件查询使用
db.testData.find({$or:[{"name":"A"},{"age":{$in:[33,34]}}]});
嵌入式(Embedded)文档查询的方法
//插入模拟数据
db.testData.insert([{
"name":"unofficial",
"age":18,
"other":{
"hobby":["eat","drink","play","happy"],
"speciality":["hands","legs"]
},
"score":[58,59,60]
},{
"name":"pushself",
"age":100,
"other":{
"hobby":["play"],
"speciality":["legs"]
},
"score":[60,70,80]
}]);
//成绩分别对应语数外,找到语文成绩小于60的同学的姓名
db.testData.find({"score.0":{$lt:60}},{"_id":0, "name":1});
//把好吃的家伙的名字查出来
db.testData.find({"other.hobby":"eat"},{"_id":0, "name":1});
限制查询
反复的切换光标读取
//执行查找操作
var rs = db.testData.find({});
//遍历
while(rs.hasNext()) {
print(tojson(rs.next()));//也可以使用printjson(rs.next());
}
其中的while也可以使用myCursor.forEach(printjson);代替操作
查询的性能问题
//插入一组测试数据
db.testData.insert([
{ "_id" : 1, "item" : "f1", type: "food", quantity: 500 },
{ "_id" : 2, "item" : "f2", type: "food", quantity: 100 },
{ "_id" : 3, "item" : "p1", type: "paper", quantity: 200 },
{ "_id" : 4, "item" : "p2", type: "paper", quantity: 150 },
{ "_id" : 5, "item" : "f3", type: "food", quantity: 300 },
{ "_id" : 6, "item" : "t1", type: "toys", quantity: 500 },
{ "_id" : 7, "item" : "a1", type: "apparel", quantity: 250 },
{ "_id" : 8, "item" : "a2", type: "apparel", quantity: 400 },
{ "_id" : 9, "item" : "t2", type: "toys", quantity: 50 },
{ "_id" : 10, "item" : "f4", type: "food", quantity: 75 }
]);
//执行查找操作
db.testData.find({"type":"food"});
//nscanned 和 nscannedObjects 显示 10 表明MongoDB不得不扫描十文档 (即集合中的所有文档)找到这四个匹配文档。
//如果给type添加一个索引
db.testData.ensureIndex({"type":1})
//再执行查询操作的时候就查询四个索引文档,并返回了四个文档内容 //复合索引的性能
db.testData.ensureIndex( { quantity: 1, type: 1 } );
db.testData.ensureIndex( { type: 1, quantity: 1 } );
//明显通过数据可以看出性能的差异,更多的后面的学习文章争取分析一下查询优化
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. 步骤 使用查找替换高级用法,替换缩写顺序 选中所有文字 打开查找替换对话框,输入以下表达式: 替换后 ...
- Windows下MongoDB安装与设置
最近在研究传奇已久的MongoDB,遇到很多问题,将整理好的Windows下的MongoDB整体到连接过程分享给大家,也留给自己. 第一步:下载http://www.mongodb.org/downl ...
随机推荐
- [杂谈]杂谈章3 JAVA中如何用自动注入
PART1 加配置文件 创建自动加载bean的配置文件 <beans xmlns="http://www.springframework.org/schema/beans" ...
- bootstrap添加遮罩层loadingmask
转自:https://blog.csdn.net/baidu_30809315/article/details/83900255 gif动态图下载地址:http://blog.sina.com.cn/ ...
- 利用 Python 练习数据挖掘
本文由 伯乐在线 - 顾星竹 翻译,Namco 校稿.未经许可,禁止转载!英文出处:Giuseppe Vettigli.欢迎加入翻译组. 覆盖使用Python进行数据挖掘查找和描述数据结构模式的实践工 ...
- Linux 下查看我们的不速之客
我们通过下面这个命令,可以查看 VPS 上还有谁在登陆: w 输出类似下列信息: 23:20:00 up 960 days, 4:29, 2 user, load average: 0.05, 0.0 ...
- 2019.02.26 bzoj4311: 向量(线段树分治+凸包)
传送门 题意: 支持插入一个向量,删去某一个现有的向量,查询现有的所有向量与给出的一个向量的点积的最大值. 思路: 考虑线段树分治. 先对于每个向量处理出其有效时间放到线段树上面,然后考虑查询:对于两 ...
- Codeforces Round #547 (Div. 3) F 贪心 + 离散化
https://codeforces.com/contest/1141/problem/F2 题意 一个大小为n的数组a[],问最多有多少个不相交的区间和相等 题解 离散化用值来做,贪心选择较前的区间 ...
- python基本数据类型之字符串(三)
python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法 ...
- Java面试题3
1.servlet执行流程 客户端发出http请求,web服务器将请求转发到servlet容器,servlet容器解析url并根据web.xml找到相对应的servlet,并将request.resp ...
- TensorFlow --playground游乐场
TensorFlow游乐场官网http://playground.tensorflow.org(国内需要梯子才能访问) 游乐场的神经网络结构有三层,第一层为输入层,输入的是特征向量(描述问题特征的向量 ...
- Windows系统编程之异步I/O和完成端口
Windows系统编程之异步I/O和完成端口[作者]北极星2003[来源]看雪技术论坛(bbs.pediy.com) [时间]2006年7月1日 一. 同步I/O和异步I/O 在介绍这部分内容之前先 ...