MongoDB数据库的操作,增删改查
在student集合中插入一些数据
db.student.insert({ "学号":10010, "姓名":"德莱文", "年龄":26, "地址":"淄博市" }); var stuData1={ "学号":10020, "姓名":"奥巴马", "年龄":27, "地址":"艾泽拉斯" }; db.student.insert(stuData1); var stuData2={ "学号":10030, "姓名":"女枪", "年龄":27, "地址":"艾泽拉斯" }; db.student.insert(stuData2); var stuData3={ "学号":10050, "姓名":"瑞雯", "年龄":18, "地址":"超神学院" }; db.student.insert(stuData3);
插入数组(数据为json)
var stuData=[ {"姓名":"Anner","age":26}, {"姓名":"James","age":28}, {"姓名":"Allen","age":31}, {"姓名":"Smith","age":17} ]; db.student.insert(stuData);
插入insert(),用JavaScript操作
//添加1万条数据 for(var i=0;i<10000;i++){ db.student.insert({"vid":"www.oracle.com"+i+"line"}); };
查看数据
db.student.find();
●数据查询
示例1:查询学号为10020的记录
db.student.find({"学号":10020}); db.student.find({"学号":10020}).pretty();
示例2:不显示_id的查询
db.student.find({"学号":10020},{"_id":0});
●关系运算
> $gt
< $lt
>= $gte
<= $lte
!= $ne
= key:value $eq
定义一个员工信息集合
db.employee.drop(); db.employee.insert([ {"name":"Smith","age":25,"sex":"男","job":"教授","addr":"北京大学","cellphone":"17166660001"}, {"name":"Clark","age":29,"sex":"男","job":"讲师","addr":"燕京大学","cellphone":"17166660002"}, {"name":"Allen","age":28,"sex":"女","job":"主任","addr":"南京大学","cellphone":"17166660003"}, {"name":"Anner","age":15,"sex":"女","job":"宣传","addr":"东京大学","cellphone":"17166660004"}, {"name":"James","age":19,"sex":"男","job":"教务","addr":"西京大学","cellphone":"17166660005"} ]); db.employee.find(); db.employee.find().pretty();
示例3:查询姓名为Anner的记录
db.employee.find({"name":"Anner"}).pretty();
示例4:查询性别为男的记录
db.employee.find({"sex":"男"}).pretty();
示例5:查询年龄大于19岁的记录
db.employee.find({"age":{"$gt":19}}).pretty();
示例6:查询年龄小于等于19岁的记录
db.employee.find({"age":{"$lte":19}}).pretty();
示例7:查询性别不是女的的记录
db.employee.find({"sex":{"$ne":"女"}}).pretty();
●逻辑运算
与 $and
或 $or
非 $not $nor
示例8:查询年龄在10~20之间的记录
db.employee.find({"age":{"$gt":10,"$lte":20}}); db.employee.find({"age":{"$gt":10,"$lte":20}}).pretty();
示例9:查询年龄不是19岁的记录
db.employee.find({"age":{"$ne":19}});
示例10:查询年龄大于19岁,或者性别为女的记录
db.employee.find({"age":{"$gt":19}},); db.employee.find({"$or":[ {"age":{"$gt":19}}, {"sex":{"$eq":"女"}} ]});
示例11:对上一题求反
db.employee.find({"$nor":[ {"age":{"$gt":19}}, {"sex":{"$eq":"女"}} ]});
●模运算 "$mod"
示例12:求年龄mod27余1的记录,也就是28
db.employee.find({"age":{"$mod":[27,1]}});
●范围查询
$in $nin
示例13:查询姓名是Allen,Anner,James的记录
db.employee.find({"name":{"$in":["Allen","Anner","James"]}});
示例14:查询姓名不是Allen,Anner,James的记录
db.employee.find({"name":{"$nin":["Allen","Anner","James"]}})
构建一个集合 employee集合
db.employee.insert([ {"name":"Jones","age":31,"sex":"男","job":"技术员","addr":"哈佛大学","cellphone":"15166660001"}, {"name":"Blake","age":35,"sex":"男","job":"销售员","addr":"牛津大学","cellphone":"15166660002"}, {"name":"Martin","age":21,"sex":"男","job":"销售员","addr":"剑桥大学","cellphone":"15166660003"}, {"name":"Turner","age":25,"sex":"女","job":"后勤","addr":"北京大学","cellphone":"15166660004"}, {"name":"Miller","age":23,"sex":"女","job":"行政","addr":"南京大学","cellphone":"15166660005"} ]);
示例15:查询job不是"技术员"的记录
db.emp.find({"jod":{"$nin":["技术员"]}});
MongoDB数据库的操作,增删改查的更多相关文章
- 十四:SpringBoot-配置MongoDB数据库,实现增删改查逻辑
SpringBoot-配置MongoDB数据库,实现增删改查逻辑 1.MongoDB数据库 1.1 MongoDB简介 1.2 MongoDB特点 2.SpringBoot整合MongoDB 2.1 ...
- SpringBoot2.0 基础案例(15):配置MongoDB数据库,实现增删改查逻辑
本文源码:GitHub·点这里 || GitEE·点这里 一.NoSQL简介 1.NoSQL 概念 NoSQL( Not Only SQL ),意即"不仅仅是SQL".对不同于传统 ...
- Django学习笔记--数据库中的单表操作----增删改查
1.Django数据库中的增删改查 1.添加表和字段 # 创建的表的名字为app的名称拼接类名 class User(models.Model): # id字段 自增 是主键 id = models. ...
- mongodb的安装与增删改查
mongodb是一款分布式的文件存储的数据库,注意这两个词,分布式和文件存储.mongodb支持复制和分片,可以合理的运用空间的大小,也可以达到容灾的目的.另外文件存储也是一个特点,抛弃了传统的表的概 ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)
1. Android的四大组件: (1)Activity 用户交互的UI界面 (2)Service 后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...
- Flutter数据库Sqflite之增删改查
Flutter数据库Sqflite之增删改查 简介 sqflite是Flutter的SQLite插件,支持iOS和Android,目前官方版本是sqflite1.1.3 sqflite插件地址:h ...
- Android-Sqlite-OOP方式操作增删改查
之前写的数据库增删改查,是使用SQL语句来实现的,Google 就为Android开发人员考虑,就算不会SQL语句也能实现增删改查,所以就有了OOP面向对象的增删改查方式 其实这种OOP面向对象的增删 ...
- Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)
1. Android的四大组件: (1)Activity 用户交互的UI界面 (2)Service 后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...
- ORM 实现数据库表的增删改查
这次通过反射技术来实现一下数据库表的增删改查对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 注:引用时约束了以下几点: 数据 ...
随机推荐
- 1·3 对 git 的认识
我可以诚实的说:这是我第一次听见这个名词 GIT.老师您发的关于git链接我下载了,只是还没看完.所以以下只是片面的理解,在后期我会单独再发一次. 一·GIT的简单介绍 1·Git是一款免费.开源的分 ...
- Mac中安装Vim7.4
Mac上的Vim Mac本身其实是预装了Vim的,但是目前的系统中都是Vim7.3版本的,而最新的Vim已经是7.4版了,因此为了能够使用最新版的vim,必须要对Mac中的vim要么升级,要么重装.在 ...
- SVN版本库(访问权限)配置实例笔记
http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...
- 浅谈JS之AJAX
0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HT ...
- word201612012
I/O (input/output) port / 输入/输出端口 IAS, Internet Authentication Service / Internet 验证服务 ICMP, Interne ...
- TCP/IP三次握手和HTTP过程
1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在"无差别&qu ...
- Oracle分析函数(一)
一.总体介绍 分析函数如何工作 语法 FUNCTION_NAME(<参数>,…) OVER (<PARTITION BY 表达式,…> <ORDER BY 表达式 < ...
- linux常用命令积累
1.jps jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/u ...
- map set区别
STL中的容器有顺序容器 (vector,list,deque),关联容器(map,set)还有一些其他容器.根据不同的场合选择不同的容器,会有意想不到的收获. Map是单词mapping(映射)的缩 ...
- 算法系列:FFT 003
转载自https://zhuanlan.zhihu.com/p/19763358 作者:Heinrich 链接:https://zhuanlan.zhihu.com/p/19763358 来源:知乎 ...