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文件, ...
随机推荐
- idea 到myeclipse
在上一篇博客使用maven进行开发过程管理之准备篇中提到了maven的基本概念.IT男罗书全觉得概念我是懂了,但是那些东西似乎离我很远啊.先开发再说吧, 于是IT男罗书全就在svn上取了源代码,并开始 ...
- Firefox 23中的新特性(新陷阱)
话说有一天突然发现我们的网站页面上的JQuery功能都失效了,Firebug中显示如下的错误 Blocked loading mixed active content "http://xxx ...
- pt-query-digest查询日志分析工具
1.工具介绍 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcp ...
- javascript组件化
http://purplebamboo.github.io/2015/03/16/javascript-component/#%E5%BC%95%E5%85%A5%E4%BA%8B%E4%BB%B6% ...
- 前端Html+Css——豆蔻年华(自学一个月)
详细见千万别碰我--燕十三 html .htm .shtml三者区别是什么 1..htm与.html没有本质上的区别,表示的是同一种文件,只是适用于不同的环境之下. 2.DOS仅能识别8+3的文件名, ...
- 搭建java,oracle,plsql开发环境
一:安装jdk和jre; (1)有两种方法:1,从官网网址上安装:2,安装绿色版 (2)配置环境变量 在"系统变量"下进行如下配置: (1)新建->变量名:JAVA_HOME ...
- 现成的HTML5框架
1>sencha-touch 2>phoneGap 3>jQuery mobile 4>bootstrap
- 简单的python服务器程序
一个接受telnet输入的服务器端小程序 #!/usr/local/bin/python3.5 #coding:utf-8 import socket host = '' port = 51423 s ...
- 关于Android的布局
Android中五大布局是直接继承ViewGroup的布局:RelativeLayout.GridLayout.FrameLayout.AbsoluteLayout.LinnerLayout(Tabl ...
- CSS透明属性详解
.transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; ...