mongdb数据库的操作
一、数据库使用
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数据库的操作的更多相关文章
- Linux 下Mongdb数据库
一.安装mongdb 1.创建安装目录 # mkdir /data/local # mkdir /data/local/mongodbdata 2.解压安装包 # tar -xvf /software ...
- python代理池的构建4——mongdb数据库的增删改查
上一篇博客地址:python代理池的构建3--爬取代理ip 一.mongdb数据库的增删改查(Mongo_pool.py) #-*-coding:utf-8-*- ''' 实现代理池的数据库模块 ●作 ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Android-Sqlite数据库的操作
Sqlite数据库的简单操作: 设置增删改查的按钮,xml界面布局设置 <?xml version="1.0" encoding="utf-8"?> ...
- (四)SQL入门 数据库的操作与事务管理
数据库的操作,有三个最基本的语句,insert插入,update修改,delete删除. 不同的数据库厂商的实现可能不同,所以就不说具体的语法怎么写的了.说语法也没有意义,到处都可以复制粘贴,记得听某 ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
- zabbix数据库mariadb从服务器迁移到云mysql数据库的操作
zabbix数据库mariadb从本机迁移到云mysql数据库的操作 1.将zabbix数据库导出,并导入到云数据库中 由于数据库较大,如果直接使用shell会话中断会导致数据库导出或者导入失败,使用 ...
- 使用my exclipse对数据库进行操作(4)
四.删除 public class class4 { public static void main(String[] args) { // TODO Auto-generated method st ...
- 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...
随机推荐
- Android6.0 危险权限和普通权限
Normal Permissions如下 ACCESS_LOCATION_EXTRA_COMMANDS ACCESS_NETWORK_STATE ACCESS_NOTIFICATION_POLICY ...
- C++开发工程师面试题库 1~50道
1. 指出以下变量数据存储位置 全局变量int(*g_pFun)(int);g_pFun=myFunction;g_pFun存储的位置(A ) 为全局的函数指针 指向空间的位置( B) 所有函数 ...
- (二)SpringBoot整合常用框架Druid连接池
一,在Pom.xml文件加入依赖 找到<dependencies></dependencies>标签,在标签中添加Druid依赖 <dependency> < ...
- poj1273 Drainage Ditches 基础网络流
#include <iostream> #include <queue> using namespace std; ][]; ]; //路径上每个节点的前驱节点 ]; int ...
- oracle 表空间及查看所有用户的表空间
用户有默认表空间,但是只能指定一个,但是你有其它表空间的限额的话,可以将表建到其它表空间中. 语法 create table xxx(xxxx xx) tablespace xxxxx 1.查看当前用 ...
- Palindrome Partitioning LightOJ - 1044(回文串最小分割数,O(n^2)预处理子串是否回文)
题意:将一个字符串分割成最少的字符串,使得分割出的每个字符串都是回文串.输出最小的分割数. 方法(自己的):先O(n^2)(用某个点或某个空区间开始,每次向左右扩展各一个的方法)处理出所有子串是否回文 ...
- 二分搜索 Codeforces Round #299 (Div. 2) C. Tavas and Karafs
题目传送门 /* 题意:给定一个数列,求最大的r使得[l,r]的数字能在t次全变为0,每一次可以在m的长度内减1 二分搜索:搜索r,求出sum <= t * m的最大的r 详细解释:http:/ ...
- java的学习方向
在我身边有很多初学者,或者想入门的门外汉问我该如何的去学习一门新的技术,如果你是一窍不通的门外汉,我给你的建议是,报一个可靠的基础培训班.当然培训班的方向也分为很多,有前端的培训课程.有java的培训 ...
- match,location,history
哇,平常写路由时基本就是简单的按照组件给的示例写,从来没有考虑为什么,又遇见了路由相关的问题,先记录一下问题,好好捋一下,哎,好香要个大佬来带带我呀,每次遇到问题要解决好久 问题: 判断是否登录之后跳 ...
- FragmentTabHost实现标签卡效果
转载请注明原文链接:http://www.cnblogs.com/yanyojun/p/8099523.html 代码已上传到github:https://github.com/YanYoJun/Fr ...