MongoDB :第七章:总结一下学习MongoDB的心得

db.dropDatabase()

{ “dropped” : “runoob”, “ok” : 1 }

创建简单集合mycol

先切换到数据库 runoob:

use runoob

switched to db test

再执行创建site集合命令

db.createCollection(“site”)

{ “ok” : 1 }

创建固定mycol集合 (表),整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。

db.createCollection(“mycol”, { capped : true, autoIndexId : true, size :

6142800, max : 10000 } )

{ “ok” : 1 }

capped : true固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 size 参数。

autoIndexId : true为 true,自动在 _id 字段创建索引。默认为 false。

查看集合(表)

先切换到数据库 runoob:

> use runoob

switched to db runoob

再执行查看命令:

> show tables

site

查看已有集合(表)

show collections

site

删除集合(表)

先切换到数据库 runoob:

use runoob

switched to db runoob

show tables

site

再执行删除site集合命令

db.site.drop()

true

show tables

插入文档(插入的一条数据)

insert() 或 save() 方法向集合中插入文档

insert() 方式

向col集合插入文档(向col表中插入一条记录)

db.col.insert({title: ‘MongoDB’,

description: ‘MongoDB 是一个 Nosql 数据库’,

by: ‘javawxid’,

url: ‘http://www.javawxid.com.cn’,

tags: [‘mongodb’, ‘database’, ‘NoSQL’],

likes: 100

})

col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。

查看向col集合已插入文档(向col表插入的一条记录)

db.col.find()

{ “_id” : ObjectId(“56064886ade2f21f36b03134”), “title” : “MongoDB”, “description” : “MongoDB 是一个 Nosql 数据库”, “by” : “javawxid”, “url” : “http://www.javawxid.com.cn”, “tags” : [ “mongodb”, “database”, “NoSQL” ], “likes” : 100 }

将数据定义为一个变量,如下所示:

document=({title: ‘MongoDB’,

description: ‘MongoDB 是一个 Nosql 数据库’,

by: ‘java小丑’,

url: ‘http://www.javawxid.com.cn’,

tags: [‘mongodb’, ‘database’, ‘NoSQL’],

likes: 100

});

执行后显示结果如下:

{

“title” : “MongoDB”,

“description” : “MongoDB 是一个 Nosql 数据库”,

“by” : “java小丑”,

“url” : “http://www.javawxid.com.cn”,

“tags” : [

“mongodb”,

“database”,

“NoSQL”

],

“likes” : 100

}

执行插入操作:

db.col.insert(document)

WriteResult({ “nInserted” : 1 })

向集合col插入单条数据(向col表中插入单条数据)

var document = db.col.insertOne({“a”: 3})

document

{

“acknowledged” : true,

“insertedId” : ObjectId(“571a218011a82a1d94c02333”)

}

向集合col插入多条数据(向col表中插入多条数据)

var res = db.col.insertMany([{“b”: 3}, {‘c’: 4}])

res

{

“acknowledged” : true,

“insertedIds” : [

ObjectId(“571a22a911a82a1d94c02337”),

ObjectId(“571a22a911a82a1d94c02338”)

]

}

一次插入多条数据

  • 1、先创建数组

  • 2、将数据放在数组中

  • 3、一次 insert 到集合中

var arr = [];

for(var i=1 ; i<=20000 ; i++){

… arr.push({num:i});

}

db.numbers.insert(arr);

BulkWriteResult({

“writeErrors” : [ ],

“writeConcernErrors” : [ ],

“nInserted” : 20000,

“nUpserted” : 0,

“nMatched” : 0,

“nModified” : 0,

“nRemoved” : 0,

“upserted” : [ ]

})

通过 update() 方法来更新标题(title):

将标题(title)由原来的 “MongoDB” 更新为了 “javawxid”。

db.col.update({‘title’:‘MongoDB’},{$set:{‘title’:‘javawxid’}})

WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 }) # 输出信息

db.col.find().pretty()

{

“_id” : ObjectId(“56064f89ade2f21f36b03136”),

“title” : “javawxid”,

“description” : “MongoDB 是一个 Nosql 数据库”,

“by” : “java小丑”,

“url” : “http://www.javawxid.com.cn”,

“tags” : [

“mongodb”,

“database”,

“NoSQL”

],

“likes” : 100

}

只会修改第一条发现的文档,如果你要修改多条相同的文档,则需要设置 multi 参数为 true。

db.col.update({‘title’:‘MongoDB’},{$set:{‘title’:‘javawxid’}},{multi:true})

使用save()方法来更新

我们替换了 _id 为 56064f89ade2f21f36b03136 的文档数据:

db.col.save({

“_id” : ObjectId(“56064f89ade2f21f36b03136”),

“title” : “MongoDB”,

“description” : “MongoDB 是一个 Nosql 数据库”,

“by” : “Runoob”,

“url” : “http://www.runoob.com”,

“tags” : [

“mongodb”,

“NoSQL”

],

“likes” : 110

})

替换成功后,我们可以通过 find() 命令来查看替换后的数据

db.col.find().pretty()

删除文档

我们移除 title 为 ‘MongoDB 教程’ 的文档:

db.col.remove({‘title’:‘MongoDB 教程’})

WriteResult({ “nRemoved” : 2 }) # 删除了两条数据
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

言尽于此,完结

无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。

  • 第一,设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

  • 第二,易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

image

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

image

搜集费时费力,能看到此处的都是真爱!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

[外链图片转存中…(img-Mz2Yq4Pe-1711793904352)]

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

[外链图片转存中…(img-lDl00CAo-1711793904352)]

搜集费时费力,能看到此处的都是真爱!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值