MongoDB新增及查询数据(一)
新增操作
insert函数会添加一个文档到集合里面。例如我们要登记一个人的信息,首先我们在shell力创建一个局部变量person,其记录了人的姓名和性别,我们通过db.persons.insert(person)想集合persons中插入一条记录,通过db.persons.findOne()查询刚才插入的记录。

图 7.新增操作
插入的时候需要注意一下几点:
1. 由于MongoDB是无模式的,所以不要预先定义和创建一个集合,在第一次插入的时候会自动创建。
2. 文档中可以存储任何结构的数据,当然在实际应用中我们存储的是相同类型的文档。
3. 每次插入数据的时候,如果没有”_id”字段,MongoDB会自动为文档生成此字段和值。

图 8.一个集合可以承载不同的文档
查询操作
mongoDB使用find进行查询,find的第一个参数决定了查询要返回那些文档,其形式也是一个文档,说明要执行的查询细节。空的查询文档{}会匹配集合的全部内容。find()会返回集合里的所有文档。如果需要查询获取第一条数据可以使用findOne();
图 9.使用find和findOne查询集合
使用find()返回一个游标对象,但是shell会自动遍历游标返回一个初始化的set,并允许我们继续使用一个迭代输出。不过我们也可以直接使用游标来输出。

图 10.使用it遍历查询结果
通过游标和while也可以遍历查询结果。
图 11.使用游标查看查询结果
有时我们并不需要查询集合的所有键值对,这时我们可以使用findOne或者find的第二个参数指定想要返回的键。这样既可以节省传输的流量,又能节省客户端解码文档的时间和内存消耗;

图 12.查询结果返回指定字段
查询条件中的值必须是常量,不能引用文档中其他键的值。

图 13.查询条件中不能引用其他字段作为值
mongoDB提供了比较操作符,$lt(<),$lte(<=),$gt(>),$gte(>=),$ne(!=)

图 14.查询中的比较操作符
mongoDB中有两种方式可以进行or查询,$in可以用来查询一个键等于多个值的记录,与其对应的是$nin。

图 15.查询中的or和in
MongoDB新增及查询数据(一)的更多相关文章
- MongoDB数据库中查询数据(下)
MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...
- 在MongoDB数据库中查询数据(上)
在MongoDB数据库中查询数据(上) 在MongoDB数据库中,可以使用Collection对象的find方法从一个集合中查询多个数据文档,find方法使用方法如下所示: collection.fi ...
- python操作mongodb根据_id查询数据的实现方法
python操作mongodb根据_id查询数据的实现方法 python操作mongodb根据_id查询数据的实现方法,实例分析了Python根据pymongo不同版本操作ObjectId的技巧, ...
- mongodb基础系列——数据库查询数据返回前台JSP(二)
上篇博客论述了,数据库查询数据返回前台JSP.博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件. 那这篇博客中,我们讲解,把后台List传递JSP展示. Lis ...
- mongodb 查询数据
MongoDB概念解析: 等同于SQL的数据库表:collectiondocument:等同于SQL的数据记录行field:等同于SQL的数据字段表连接,MongoDB不支持主键,MongoDB自动将 ...
- koa 基础(二十一)nodejs 操作mongodb数据库 --- 查询数据
1.app.js /** * nodejs 操作mongodb数据库 * 1.安装 操作mongodb * cnpm install mongodb --save * 2.引入 mongodb 下面的 ...
- PHP 从 MongoDb 中查询数据怎么样实现
一.软件环境(版本非必须) php v5.6 扩展:MongoDB nginx v1.11 mongodb v3.2 note: 必须安装MongoDB扩展 二.连接 $client = new Mo ...
- 吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB
本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...
- Node.js向MongoDB中插入并查询数据
首先必须要保持Node.js与MongoDB保持连接 具体教程见:Node.js连接MongoDB数据库步骤 插入数据步骤如下 node项目文件如下:在routes文件夹下新建insert.js文件, ...
随机推荐
- sqlserver复制报”应用复制的命令时在订阅服务器上找不到该行“解决方法
最近遇到“应用复制的命令时在订阅服务器上找不到该行”问题,报错如下: 官方给出的建议是重新同步和初始化订阅,当然,这是一种选择,但是对于动辄上百G的生产库,这种方法会消耗大量的资源和时间.可以通过定位 ...
- 30. PL/SQL Developer连接服务器查询时,数据乱码处理
在windows中创 建一个名为“NLS_LANG”的系统环境变量,设置其值为"AMERICAN_AMERICA.ZHS16GBK", NLS_LANG的值为:select u ...
- Maven实战(二)构建简单Maven项目
上一节讲了maven的安装和配置,这一节我们来学习一下创建一个简单的Maven项目 1. 用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令: mvn archetype:gene ...
- 自己练习读取写入txt
读取文件中的内容生成一个list,然后修改list后再写会该文件文件中的格式是:AA,BB,CC,DDblist = []for line in open('a.txt'): blist.extend ...
- ado.net access oracle dataset via store procedure
使用存储过程返回结果集,并绑定到ado.net对象中在sql server里面是非常直观的. 1: create procedure GetAllRecords 2: as 3: select * f ...
- VC++模态对话框和非模态对话框
MFC中有两种类型的对话框:模态对话框和非模态对话框. 模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务.非模态对话框是指当其显示时,允许转而执行程序中 ...
- 安卓中adapter的应用
个人菜鸟总结,期待大神指点,悉心倾看! Adapter是ListView界面与数据之间的桥梁,Adapter提供对数据的访问,也负责为每一项数据产生一个对应的View(白话通俗点:先写adapter为 ...
- Android permission
1. users-permission Users-permission is the permission that this app should acquire, so that the app ...
- TextField 的文字间距
#import "XZCTextField.h" @implementation XZCTextField ////控制清除按钮的位置//-(CGRect)clearButtonR ...
- PTA week10
// // main.c // Bonus2 // // Created by 余南龙 on 2016/11/27. // Copyright © 2016年 余南龙. All rights rese ...