程序地带

08.mongo db 数据的增删改查


目录


 


查看所有数据库列表


创建一个数据库


查看当前数据库的所有集合


查看当前数据库中,某个集合中有哪些数据


删除集合


删除数据库


增加数据


查找数据


查看所有数据库列表
show dbs
创建一个数据库
use test

use命令用于创建或者切换一个数据库。如果没有这个数据库,则创建。反之则切换。注意,执行了该命令后,mongodb不会真的创建了一个名为test的数据库,如果真的想把这个数据库创建成功,那么必须插入一个数据。数据库中不能直接插入数据,只能往集合(collections)中插入数据。下面命令表示给 test 数据库的 user 表中插入数据


db.user.insert({“name”:”xiaoming”});
// 语法
db.集合名.insert({"key" : value});

你可以理解为这样 :


const test = {
user : [
{
name : 'xiaoming'
}
]
}
// test是数据库
// user是集合(表)
// { name :  'xiaoming' } 是数据
查看当前数据库的所有集合
show collections
查看当前数据库中,某个集合中有哪些数据
db.user.find();
// 语法
db.集合名.find();
删除集合
db.user.drop();
// 语法
db.集合名.drop();
删除数据库
db.dropDatabase();
增加数据

上面已经介绍过了,使用insert命令,如 :


db.user.insert({"name":"zhangsan","age":20});
查找数据
1、查询所有记录
 
db.user.find();


2、查询age = 5的数据


db.user.find({age : 5});
// 语法
db.集合名.find(条件);

查询的条件是一个json,条件可以是多个,比如查询name = lisi,age = 25


db.user.find( {name : 'lisi'}, {age : 25} );

3、查询age > 55的数据


db.user.find({age : {$gt:55}});
// 语法 ( $gt  就是代表大于的意思 )
db.user.find({ key : { $gt : value } });

4、查询age < 55的数据


db.user.find({age : {$lt:55}})

5 、查询age >= 75的数据


db.user.find({age : {$gte:55}});

6、查询age<=75的数据


db.user.find({age : {$lte:75}});

7、查询age>=55 && age<=85的数据


db.user.find({ age : { $gte:55 , $lte:85} } );

8、查询name中包含字母 "z" 的数据 (模糊查询用于搜索)


db.user.find({name:/z/});


其中name后面跟的是一个正则表达式。比如我们查询name中以字母t开头的数据,可以这样写 :


db.user.find({name:/^t/});


9 、查询指定列 name、age 数据



查询数据时,我只想查询到name的数据,不想要age的数据,则可以使用以下命令 


db.user.find({},{name:true});


如果name用 false,就是排除name,显示 name 以外的列信息。如 :



10、查询指定列 name 数据, age > 50


db.user.find( {age:{$gte:50}},{name:true} )


11、按照年龄排序 1 升序 -1 降序


db.user.find().sort({age:-1});


12、查询前 5 条数据


db.user.find().limit(5);


13、查询后 5 条数据


db.user.find().skip(5);


14、查询3-6之间的数据


db.user.find().skip(3).limit(3);


可用于分页,
limit

pageSize

skip

(page-1)*pageSize
 
 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/QQ408896436/article/details/109757322

随机推荐

Java多线程中的wait/notify通信模式

最近在看一些JUC下的源码,更加意识到想要学好Java多线程,基础是关键,比如想要学好ReentranLock源码,就得掌握好AQS源码...

qq_40848737 阅读(693)

matlab图片白边_MATLAB论文作图消除白边

matlab图片白边_MATLAB论文作图消除白边

在最新的MATLAB2020a中自带了消除白边的函数,以后消除白边只需要使用该函数进行输出就可以。心同流水:MATLAB论文消除白边及生成合适大小PDF​zhuanlan....

东阳警方 阅读(809)

MapReduce--->自定义OutputFormat

MapReduce--->自定义OutputFormat代码MyOutputFormatMyRecordWriterMapDriver代码MyOutputFormatimportorg.apac...

飝鱻. 阅读(862)

群晖218play重装系统dsm

群晖218play重装系统dsm

1、根据型号下载dsm安装文件。https://www.synology.cn/zh-cn/support/download/DS218play#system2、在设备中加入新硬盘。3、使用chrom...

winfredzhang 阅读(413)

Linux 的文件权限和 chmod 命令详解

Linux 的文件权限和 chmod 命令详解

Linux的文件权限和chmod命令详解一   文件权限1.1三种文件权限(Read、Write、Execute)1.2三种用户身份(User、Group、O...

enderman19980125 阅读(586)

sqlserver200864位下载_sql server 2008 r2中文版

数据库管理系统有很多像oracle、DB2、sybase、informix等,但是今天小编要讲的是只能在windows平台上运行的sqlserver2008r2中文版。sqlserver...

weixin_39678525 阅读(284)