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开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
言尽于此,完结
无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。
- 第一,设计模式能让专业人之间交流方便,如下:
程序员A:这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
搜集费时费力,能看到此处的都是真爱!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
[外链图片转存中…(img-Mz2Yq4Pe-1711793904352)]
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
[外链图片转存中…(img-lDl00CAo-1711793904352)]
搜集费时费力,能看到此处的都是真爱!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!