在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数据库的操作,增删改查的更多相关文章

  1. 十四:SpringBoot-配置MongoDB数据库,实现增删改查逻辑

    SpringBoot-配置MongoDB数据库,实现增删改查逻辑 1.MongoDB数据库 1.1 MongoDB简介 1.2 MongoDB特点 2.SpringBoot整合MongoDB 2.1 ...

  2. SpringBoot2.0 基础案例(15):配置MongoDB数据库,实现增删改查逻辑

    本文源码:GitHub·点这里 || GitEE·点这里 一.NoSQL简介 1.NoSQL 概念 NoSQL( Not Only SQL ),意即"不仅仅是SQL".对不同于传统 ...

  3. Django学习笔记--数据库中的单表操作----增删改查

    1.Django数据库中的增删改查 1.添加表和字段 # 创建的表的名字为app的名称拼接类名 class User(models.Model): # id字段 自增 是主键 id = models. ...

  4. mongodb的安装与增删改查

    mongodb是一款分布式的文件存储的数据库,注意这两个词,分布式和文件存储.mongodb支持复制和分片,可以合理的运用空间的大小,也可以达到容灾的目的.另外文件存储也是一个特点,抛弃了传统的表的概 ...

  5. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  6. Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  7. Flutter数据库Sqflite之增删改查

    Flutter数据库Sqflite之增删改查   简介 sqflite是Flutter的SQLite插件,支持iOS和Android,目前官方版本是sqflite1.1.3 sqflite插件地址:h ...

  8. Android-Sqlite-OOP方式操作增删改查

    之前写的数据库增删改查,是使用SQL语句来实现的,Google 就为Android开发人员考虑,就算不会SQL语句也能实现增删改查,所以就有了OOP面向对象的增删改查方式 其实这种OOP面向对象的增删 ...

  9. Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  10. ORM 实现数据库表的增删改查

    这次通过反射技术来实现一下数据库表的增删改查对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 注:引用时约束了以下几点: 数据 ...

随机推荐

  1. 网站建设中帝国cms如何循环调用栏目下级分类

    类似的形式,调用下级分类 ?php $bclassid=[!--self.classid--]; //选择当前栏目的id,如果调用指定栏目下的多级分类,则填写栏目id //取得本栏目下的子栏目 ? [ ...

  2. PYTHON 写函数,计算传入字符串中【数字、字母、空格、以及其他的个数】

    def func1(s): al_num = 0 spance_num = 0 digit_num = 0 others_num = 0 for i in s: if i.isdigit(): # i ...

  3. Android 手机摇一摇功能的实现

    package myapplication.com.myapp.activity; public class Home_Activity extends AppCompatActivity{ //传感 ...

  4. java27

    1:反射(理解)    (1)类的加载及类加载器    (2)反射:        通过字节码文件对象,去使用成员变量,构造方法,成员方法    (3)反射的使用        A:通过反射获取构造方 ...

  5. Nginx上传文件返回413的解决

    通过http上传文件时返回403 Request Entity Too Large错误时,原因是默认设置的允许上传文件太小,默认是2M,如果上传文件大小大于2M时,那么就会返回413的错误,修改ngi ...

  6. ACM/ICPC 之 最小割转网络流(POJ3469)

    重点:构图 //最小割转网络流 //邻接表+Dinic //Time:5797Ms Memory:6192K #include<iostream> #include<cstring& ...

  7. mysql事务和锁InnoDB

    背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题.我在工作过程中,经常会有同事咨询这方面的问题.同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题.本文,准备 ...

  8. JavaScript高级程序设计学习笔记--错误处理与调试

    try-catch语句 只要代码中包含finally子句,则无论try或catch语句块中包含什么代码--甚至return语句,都不会阻止finally子句的执行,来看下面这个函数: function ...

  9. String字符串去掉最后一个","号的几种方式

    String a = "struts-default.xml,struts-plugin.xml,struts.xml"; String[] bStrings = a.split( ...

  10. SpringMVC基本配置

    1 springmvc 框架 1.1  回顾mvc结构 1.2springmvc的介绍 是一个基于mvc的web层框架,使用spring的一个子项目 在使用springmvc的时候,不用单独和spri ...