一、数据库使用

  1.使用mongodb服务,必须先开启服务,开启服务使用 mongod --dbpath D:mongdb    (D:mongdb  自己所创建数据库的路径, 在cmd窗口中输入)

2.管理mongodb数据库,mongo (必须新建一个新的cmd窗口输入,之前打开的cmd窗口不能关闭)

**  cls  清屏命令

二、创建数据库

1.使用数据库、创建数据库

use student    如果真的想把这个数据库创建成功,那么必须插入一个数据  数据库中不能直接插入数据,只能往集合(collections)中插入数据,不需要专门创建集合,只需要写点语法插入数据就会创建集合

db.student.insert({"name":"xiaoming"}); //插入数据

 show collections  就能看到刚才创建的集合(student)

2.删除当前所在的数据库

db.dropDatabase();

删除集合语法  db.collection_name.drop

db.student.drop()

三、插入数据

db.student.insert({"name":"xiaoming"}); //插入数据

四、查找数据

 1.查询所有记录

db.student.find()

2.查询去掉后的当前聚集集合中的某列的重复数据

db.student.disnct("name")              //会过滤掉相同的数据,只显示一条

3.查询age="25"的记录

db.sutdent.find({"age":"25"})     //只查询出一条数据

4.查询age>22的记录

db.student.find({age:{$gt:22}})

5.查询age<22的记录

db.student.find({age:{$lt:22}})

6.查询age>=25的记录

db.student.find({"age":{$gte:25}})

7.查询age<=25的记录

db.student.find({"age":{$lte:25}})

8.查询age>=23 并且age<=26

db.student.find({age:{$gte:23,$lte:26}})

9.查询name中包含moongo的数据    模糊查询用于搜索

db.student.find({name:/mongo/})

10.查询name中以mongo开头的

db.student.find({name:/^mongo/})

11.查询指定列name、age数据

db.sutdent.find({},{name:1.age:1})

12.查询指定列name、age数据,age>25

db.student.fiind({age:{$gt:25}},{name:1,age:1})

13.按照年龄排序   1升序   -1降序

db.student.find().sort({age:1})    按年龄升序排序

db.studnet.find().sort({age:-1})   按年龄降序排序

14.查询name=zhangsan,age=22的数据

db.student.find({'name':'zhangsan','age':'22'})

15.查询前5条数据

db.student.find().limit(5)

16.查询10条以后的数据

db.student.find().skip(10);

17.查询在5-10条之间的数据

db.student.find().limit(10).skip(5);   //可用于分页 ,limit是pageSize,skip是第几页 *(乘以)pageSize

18. or与查询

db.student.find({$or:[{age:22},{age:25}]})   查询age22或者25的数据

19.查询第一条数据  findOne

db.student.findOne()

20.查询某个结果集的记录条数

db.student.find({age:{$gte:25}}).count()    查询age大于25的数据

如果要返回限制之后的记录数量,要使用 count(true)或者 count(非 0) db.users.find().skip(10).limit(5).count(true);

四、修改数据

1.db.student.update({"name":"小明"},{$set:{"age":16}});              查找名字叫做小明的,把年龄更改为 16 岁:

2. db.student.update({"score.shuxue":70},{$set:{"age":33}});    查找数学成绩是 70,把年龄更改为 33 岁:

3. db.student.update({"sex":"男"},{$set:{"age":33}},{multi: true});    更改所有匹配项目:"

4. db.student.update({"name":"小明"},{"name":"大明","age":16});  完整替换,不出现$set 关键字了

5.db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true); 相当于:update users set age = age + 50 where name = ‘Lisi’;

6.db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true); 相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;

五、删除数据

db.collectionsNames.remove( { "borough": "Manhattan" } )     删除集合

db.users.remove({age: 132});

mongdb数据库的操作的更多相关文章

  1. Linux 下Mongdb数据库

    一.安装mongdb 1.创建安装目录 # mkdir /data/local # mkdir /data/local/mongodbdata 2.解压安装包 # tar -xvf /software ...

  2. python代理池的构建4——mongdb数据库的增删改查

    上一篇博客地址:python代理池的构建3--爬取代理ip 一.mongdb数据库的增删改查(Mongo_pool.py) #-*-coding:utf-8-*- ''' 实现代理池的数据库模块 ●作 ...

  3. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  4. Android-Sqlite数据库的操作

    Sqlite数据库的简单操作: 设置增删改查的按钮,xml界面布局设置 <?xml version="1.0" encoding="utf-8"?> ...

  5. (四)SQL入门 数据库的操作与事务管理

    数据库的操作,有三个最基本的语句,insert插入,update修改,delete删除. 不同的数据库厂商的实现可能不同,所以就不说具体的语法怎么写的了.说语法也没有意义,到处都可以复制粘贴,记得听某 ...

  6. Laravel框架数据库CURD操作、连贯操作使用方法

    Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍.   Laravel是一套简洁.优雅的PHP Web开 ...

  7. zabbix数据库mariadb从服务器迁移到云mysql数据库的操作

    zabbix数据库mariadb从本机迁移到云mysql数据库的操作 1.将zabbix数据库导出,并导入到云数据库中 由于数据库较大,如果直接使用shell会话中断会导致数据库导出或者导入失败,使用 ...

  8. 使用my exclipse对数据库进行操作(4)

    四.删除 public class class4 { public static void main(String[] args) { // TODO Auto-generated method st ...

  9. 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...

随机推荐

  1. lua-resty-r3 高性能 OpenResty 路由实现

    大家下午好!首先做下自我介绍,我于 2014 年加入奇虎 360,后与温铭结识,当时他正在基于 OpenResty 做天擎服务端,用于提供 API 服务.2015 年我们一起写了< OpenRe ...

  2. IntentService使用以及源码分析

    一 概述 我们知道,在Android开发中,遇到耗时的任务操作时,都是放到子线程去做,或者放到Service中去做,在Service中开一个子线程来执行耗时操作. 那么,在Service里面我们需要自 ...

  3. 枚举与#define 宏的区别

    1),#define 宏常量是在预编译阶段进行简单替换.枚举常量则是在编译的时候确定其值.2),一般在编译器里,可以调试枚举常量,但是不能调试宏常量.3),枚举可以一次定义大量相关的常量,而#defi ...

  4. python 高阶函数一 概念

    一.2个概念: 1.变量可以指向函数本身 >>> abs <built-in function abs> >>> f = abs >>> ...

  5. Codeforces732D Exams

    显然要二分答案,然后对于一个天数,我们来判断是否可以通过所有考试,这里就贪心来安排就好了. 首先我们希望每门课的考试时间越晚越好,然后就是先复习最早开始的考试. #include <bits/s ...

  6. git 命令参考手册

    你的本地仓库由 git 维护的三棵“树”组成.第一个是你的 工作目录,它持有实际文件:第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动:最后是 HEAD,指向你最近一次提交后的结果. ...

  7. mycat启动报错UnknownHostException(Temporary failure in name resolution)解决方法

    重启命令 ./mycat restart 查看日志 cd logs tail -f wrapper.log 报错信息 INFO | jvm 2 | 2018/05/09 11:28:28 | Erro ...

  8. 51Nod 1021 石子归并(动态规划)

    #include <iostream> #include <algorithm> #include <string> #include <iostream&g ...

  9. java final static 和final区别

    static 和非static 之间的差异,只有当值在运行期间初始化的前提下,这种差异才会揭示出来.因为编译期间的值被编译器认为是相 同的. package thinking; public clas ...

  10. ie下,php HTTP_REFERER获取失败的整理

    HTTP_REFERER有效的情况1.以iframe 形式调用地址2.以window.open调用,打开新页面window.open(url);3.使用window.location.replace在 ...