MongoDB基本操作

栏目: 数据库 · 发布时间: 6年前

内容简介:1、创建数据库如果数据库存在创建数据库,否则切换到指定数据库

1、创建数据库

格式 :usr database_name

如果数据库存在创建数据库,否则切换到指定数据库

> use mydb
switched to db mydb
>

2、查看数据库

查看数据库列表:

格式 :show dbs

注意:如果是刚创建的新数据库并不会出现在数据库列表中,要显示它需要插入数据。

MongoDB基本操作

查看当前使用数据库:

格式 : db

>db
mydb
>

注意

1、在 MongoDB 中默认数据库为test,如果你没有创建新的数据库,集合会放在test数据库中。

2、在MongoDB中,集合只有插入内容后才会创建,也就是说创建集合后需要插入一个文档,集合才会被创建。

三、删除数据库

格式:db.dropDatabase()

MongoDB基本操作

再查看下数据库是否被删除,使用show dbs;

MongoDB基本操作

四、创建集合

格式:db.createCollection(name, options)

参数说明:name 要创建的集合名称,options可选参数,指定有关内存大小及索引选项

MongoDB基本操作

查看已有的集合使用:show collections

MongoDB基本操作

在MongoDB中,插入一些文档时,如果集合不存在,它会自动帮你创建

MongoDB基本操作

五、删除集合:

格式:db.COLLECTIONS_NAME.drop()

成功删除返回true,否则返回false

MongoDB基本操作

六、插入文档

格式:db.COLLECIONS_NAME.insert(document)

db.COLLECIONS_NAME.save(document)

两个格式区别:如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

在collection1中插入数据:

MongoDB基本操作

成功插入数据后,使用db.COLLECIONS_NAME.find()查看指定集合数据。其中的"_id"是系统自动生成的

也可以把数据定义成一个变量,插入集合

MongoDB基本操作

首先定义变量document,然后把document当做变量插入collection2

插入多条数据:

格式:db.COLLECTION_NAME.insert([{文档1},{文档2}...])

MongoDB基本操作

(db.collection1.find()后面不要管,shell 的一个bug)

七、更新文档

格式:

db.COLLECTION_NAME.update(

<query>,

<update>,

{

upsert:<boolean>,

multi:<boolean>,

writeConcern:<document>

}

)

参数说明:

    • query  : update的查询条件,类似sql update查询内where后面的。
    • update  : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
    • upsert  : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi  : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern  :可选,抛出异常的级别。

MongoDB基本操作

把"_id"为 ObjectId("5b8f21288eca67517610e01b") 对应的name的值改为"嘤嘤嘤"

示例一:

更新满足条件的第一条数据:

db.collection1.update({"age":{$lt:21}},{$set:{"age":"21"}});

在collection1更新 将age小于21岁的age设置为21

示例二:

更新满足条件的全部数据:

db.collection1.update({"age":{$lt:21}},{$set:{"age":21}},false,true);

末尾的false是upsert 的参数,true是multi 的参数。

示例三:

添加第一条数据:

db.collection1.update({"age":{$gt:23}},{$set:{"age":23}},true,false);

在collection1中寻找有没有满足 年龄大于23的,没有找到便添加{"age":23}这个数据,找到则把找到的第一条数据设置成23.

八、删除文档:

db.collection1.deleteOne({"age":"25"});

删除collection1中年龄25的文档。

db.collection1.deleteMany({"age":22});

删除集合中所有年龄22岁的文档。

db.collection1.deleteMany({})

删除文档

九、查询文档

语法:db.collection_name.find(query, projection)

参数说明:

query:可选,使用查询操作符指定查询条件

projection:可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

栗子1:

MongoDB基本操作

在find()后添加pretty()会以易读方式显示。

栗子2:

MongoDB基本操作

使用and条件查询:

在MongoDB中传入多个键值对,每个键用逗号隔开

格式: db . collection_name . find ({ key1 : value1 , key2 : value2 })

MongoDB基本操作

查找age大于21岁,并且name为name3的文档

使用or条件查询:

在查询条件前添加$or,

格式:db . collection_name . find (

{

$or : [

{ key1 : value1} , {  key2 : value2 }

]

}

)

新鲜的栗子:查找name是name4或者age是22的文档

MongoDB基本操作

limi()方法:

指定读取数量

语法:

db . COLLECTION_NAME . find (). limit ( NUMBER );

栗子:只读取两条数据

MongoDB基本操作

skip方法:

跳过指定数量的数据开始读取

语法:db.collection_name.find().skip(2);

sort方法:

对数据进行排序,用1代表升序,-1代表降序

语法: db . COLLECTION_NAME . find (). sort ({ KEY : 1 })

MongoDB基本操作

对年龄进行降序


以上所述就是小编给大家介绍的《MongoDB基本操作》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创京东

创京东

李志刚 / 中信出版社 / 2015-5-1 / CNY 49.80

1998年,刘强东创业,在中关村经销光磁产品。2004年,因为非典,京东偶然之下转向线上销售。2014年,京东市值已超400亿美元,跻身全球前十大互联网公司之列。 这是一个听起来很传奇的创业故事,但只有当事人了解创业维艰。 刚转向电商时,传统企业前景光明,而电商看起来前途未卜,京东如何能毅然转型并坚持到底?资金匮乏的时候,京东靠什么说服投资人?在强大的对手面前,京东靠什么反超并一路领先......一起来看看 《创京东》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具