十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了“MongoDB常用的基本操作命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoDB常用的基本操作命令”吧!
创新互联公司坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10年网站建设经验创新互联公司是成都老牌网站营销服务商,为您提供网站制作、成都网站建设、网站设计、H5技术、网站制作、成都品牌网站建设、小程序定制开发服务,给众多知名企业提供过好品质的建站服务。
在MongoDB数据库里面是存在有数据库的概念的,但是没有模式(所有的信息都是按照文档保存的),文档的结构就是JSON结构,只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作符。
1、切换到stone数据库:
> db
test
执行 "db" 命令可以显示当前数据库对象
> use stone
switched to db stone
> show databases;
admin 0.000GB
local 0.000GB
实际上这个时候并不会创建数据库,只有在数据库里面保存集合数据之后才能够真正创建数据库。
● admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
● local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
● config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
2、创建一个集合:
> db.createCollection("emp");
{ "ok" : 1 }
> show databases;
admin 0.000GB
local 0.000GB
stone 0.000GB
这个时候stone数据库才会真正存在。
3、但是很多时候如果按照以上的代码形式进行会觉得你不正常,因为正常人使用MongoDB数据库集合操作的时候都是直接向里面保存一个数据。
> db.dept.insert({"deptno":10,"dname":"财务部","loc":"北京"})
WriteResult({ "nInserted" : 1 })
4、查看所有集合
> show collections;
dept
emp
发现dept集合自动创建。
5、查看emp表的数据
语法:db.集合名称.find({若干条件})
> db.dept.find();
{ "_id" : ObjectId("59904d44d31a95e93db0da1c"), "deptno" : 10, "dname" : "财务部", "loc" : "北京" }
从传统的数据表来看(集合就相当于表的结构),表的结构一旦定义就必须按照其定义的要求进行内容的编写。但是MongoDB不一样,它可以自己随意扩充数据。
6、增加不规则的数据
> var deptData={
... "deptno":20,
... "dname":"研发部",
... "loc":"深圳",
... "count":20,
... "avg":8000
... };
> db.dept.insert(deptData);
WriteResult({ "nInserted" : 1 })
> db.dept.find()
{ "_id" : ObjectId("59904d44d31a95e93db0da1c"), "deptno" : 10, "dname" : "财务部", "loc" : "北京" }
{ "_id" : ObjectId("59904f2dd31a95e93db0da1d"), "deptno" : 20, "dname" : "研发部", "loc" : "深圳", "count" : 20, "avg" : 8000 }
此时dept集合的内容可以由用户随便定义,完全不用考虑其他的结构,那么实际上就必须明确一点了,在MongoDB数据库之中是绝对不可能存在有查看集合结构的操作。
7、关于ID的问题
在MongoDB集合在的每一行记录都会自动的生成一个:“"_id" : ObjectId("59904f2dd31a95e93db0da1d")”数据,这个数据组成:“时间戳 + 机器码 + 进程PID + 计数器”,这个ID的信息是MongoDB数据库自己为用户生成的。
8、查看单独的一个文档信息
> db.dept.findOne()
{
"_id" : ObjectId("59904d44d31a95e93db0da1c"),
"deptno" : 10,
"dname" : "财务部",
"loc" : "北京"
}
9、删除数据
> db.dept.remove({"_id" : ObjectId("59904d44d31a95e93db0da1c")});
WriteResult({ "nRemoved" : 1 })
> db.dept.find();
{ "_id" : ObjectId("59904f2dd31a95e93db0da1d"), "deptno" : 20, "dname" : "研发部", "loc" : "深圳", "count" : 20, "avg" : 8000 }
10、更新数据
> var deptData={
... "deptno":30,
... "dname":"IT",
... "loc":"北京"
... };
> db.dept.update({"_id" : ObjectId("59904f2dd31a95e93db0da1d")},deptData);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.dept.find();
{ "_id" : ObjectId("59904f2dd31a95e93db0da1d"), "deptno" : 30, "dname" : "IT", "loc" : "北京" }
11、删除集合
语法:db.集合名称.drop();
> db.dept.drop();
true
> show collections;
emp
12、删除数据库(删除当前所在的数据库)
> db.dropDatabase();
{ "dropped" : "stone", "ok" : 1 }
> show dbs;
admin 0.000GB
local 0.000GB
删除数据库是删除当前所在的数据库,必须先切换到数据库后才可以删除。
感谢各位的阅读,以上就是“MongoDB常用的基本操作命令”的内容了,经过本文的学习后,相信大家对MongoDB常用的基本操作命令这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!