MongoDB学习记录(三) - MongoDB的"增查改删"操作之"查"
查找使用的方法: db.collection.find()
查找所有文档
db.collection.find({})或者db.collection.find({})
指定键值对
db.collection.find({field: value}, ...),此方法会找到所有包含了指定的field: value对的文档(如果field字段下的值是一个数组,并且value在这个数组中,那么也将被查找出来,换句话说,value除了直接形容这个字段的值,若字段值是一个数组的话,也可以去匹配数组里的值)
使用查询运算符
例如db.collection.find( { status: { $in: [ "A", "D" ] } } )可以找到status字段值为"A"或"D"的文档。更多查询运算符。
"与"查询
"与"查询可以查询同时满足多个条件的文档。直接将"与"查询的查询条件写在同一个查询过滤器文档中即可隐式地调用$and
进行查询。例如: db.collection.find({status: "A", qty: {$lt: 30}})查询status为"A"并且qty小于30的文档
"或"查询
"或"查询可以查询满足多个条件之一的文档。使用$or
查询运算符,将查询的条件写在一个数组中,例如: db.collection.find({$or: [ {status: "A"}, {qty: {$lt: 30}} ]})将会查询status为"A"或者qty小于30的文档
还可以将"与"查询和"或"查询结合起来,例如:db.collection.find( { status: "A", $or: [ { qty: { $lt: 30} }, { item: /^p/ } ] } )将查询status为"A"同时qty小于30或item以"p"开头的文档。
利用查询运算符还可以进行更多复杂的查询操作。
查询嵌套文档
如果想查询嵌套的文档,可以使用点符号,例如: db.collection.find({ "size.uom": "in" })将查询size字段下的uom字段值为"in"的文档。
查询一个数组
db.collection.find({ tags: [ "red", "blank" ] })将查找一个字段tags的值为数组["red", "blank"]的文档
如果使用查询运算符,还可以有更多的查询方式,例如db.collection.find({ tags: {$all: ["red", "blank"] } })将查找field字段的值为一个数组,且此数组包含"red"和"blank"的文档。
MongoDB学习记录(三) - MongoDB的"增查改删"操作之"查"的更多相关文章
- MongoDB学习记录(四) - MongoDB的"增查改删"操作之"改"
更新文档主要有以下几种方法: db.collection.updateOne(filter, update, options) db.collection.updateMany(filter, upd ...
- MongoDB学习记录(二) - MongoDB的"增查改删"操作之"增"
如果做插入文档操作的集合不存在,那么集合将被创建 db.collection.insertOne() insertOne为collection插入一条文档,如果文档的_id字段未指定,MongoDB会 ...
- Mongodb学习笔记三(Mongodb索引操作及性能测试)
第三章 索引操作及性能测试 索引在大数据下的重要性就不多说了 下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载.官网下载地址:http://www.robomo ...
- php 连接mongodb 增查改删操作
查询 <?php $m=new MongoClient('mongodb://admin:admin@localhost:27017/admin'); $db=$m->hndb; $cc= ...
- MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据
看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是 ...
- MongoDB学习记录
一.操作符 "$lt" :"<""$lte" :"<=""$gt" :"> ...
- Mongodb学习笔记一(Mongodb环境配置)
Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...
- SQL Server 2012 学习笔记3 增查改删
现在举例几个"增查改删"的语句 select * from UserInfor --查找所有字段 select username,UserId from UserInfor -- ...
- JavaScript学习记录三
title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
随机推荐
- KVM虚拟化环境安装随笔
1. KVM由来 KVM:Kernel-based Virtual Machine 2.软件说明 libvirt 作用:虚拟机的管理软件 virt virt-install virt-clone ...
- 如何系统的学习Java
初学者记住一点,学习Java一定是连续性的且循序渐进的“系统化”学习,首先我给你提供一个优秀Java工程师的学习路线. web前端方面:html.css,Java.jQuery.xml解析.Boots ...
- K8s简单yaml文件运行例子deployment
kubectl run 创建并运行一个或多个容器镜像. 创建一个deployment 或job 来管理容器. kubectl run 语法: $ run NAME --image=image [--e ...
- sql优化之concat/concat_ws/group_concat
原文1:https://baijiahao.baidu.com/s?id=1595349117525189591&wfr=spider&for=pc 原文2:https://www.y ...
- centos7.4重置root密码
1- 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4 - 现在按下 Con ...
- linux查看硬件详细信息dmidecode
[root@zabbix_server src]# dmidecode|more # dmidecode 2.12 SMBIOS 2.7 present. structures occupying b ...
- 一些常用的 std 类型
[std::allocator] 标准库中包含一个名为allocator的类,允许我们将分配和初始化分离.使用allocator通常会提供更好的性能和更灵活的内存管理能力. 标准库allocator类 ...
- PhoenixFD插件流体模拟——UI布局【Splash | Mist】详解
液体飞溅 | 水雾 本文主要讲解Splash | Mist折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Splash+ ...
- win7旗舰版64位GHOST版的,安装telnet客户端时,提示:出现错误。并非所有的功能被成功更改。
win7旗舰版64位GHOST版的,安装telnet客户端时,提示:出现错误.并非所有的功能被成功更改. 从安装成功的电脑上拷贝ghost版本缺少的文件,然后再安装telnet客户端,我已打包 链接: ...
- 小强学渲染之Unity Shader噪声应用
之前玩Tencent的仙剑4手游时,杀死boss会看到boss有“消融”的效果,就是身体上有多个洞洞然后往四周扩散直至尸体完全消失,但效果是没有关闭背面剔除的“穿帮”效果,可能也是考虑性能因素. em ...