最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

MongoDB快速入门教程

来源:动视网 责编:小OO 时间:2025-09-27 21:03:04
文档

MongoDB快速入门教程

MongoDB快速入门教程MongoDB数据库一、MongoDB简介MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。二、Windows下MongoDB操作MongoDB在Windows上的安装运行很方便。直接下
推荐度:
导读MongoDB快速入门教程MongoDB数据库一、MongoDB简介MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。二、Windows下MongoDB操作MongoDB在Windows上的安装运行很方便。直接下
MongoDB快速入门教程

MongoDB数据库

一、MongoDB简介 

MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。

MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。

MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。

二、Windows下MongoDB操作

MongoDB在Windows上的安装运行很方便。直接下载、解压,然后运行bin/mongod 即可启动服务器,运行bin/mongo 即可运行命令行客户端。

2-1、下载与解压

官方网站:http://www.mongodb.org/downloads。

下载对于版本,解压并抽取相关的bin目录到C:\\MongoDB下(这个任意选择)。

在启动MongoDB之前,我们必须新建一个存放mongoDB数据和日志的目录。数据库目录:C:\\MongoDB\\data\\db\,日志目录:C:\\MongoDB\\data\。

2-2、运行服务端

打开CMD窗口,进入到C:\\MongoDB\\bin目录下,运行服务端mongod.exe。

C:\\>cd C:\\MongoDB\\bin

C:\\MongoDB\\bin>mongod.exe --dbpath=C:\\MongoDB\\data\\db --directoryperdb  --logpath =C:\\MongoDB\\data\\logs --logappend

    注:

日志文件为C:\\MongoDB\\data\\logs,以及添加方式记录(追加)。

数据目录为C:\\MongoDB\\data\\db,并且每个数据库将储存在一个单独的目录(--directoryperdb)。

    服务端要一直运行。Ctrl+C可中断。

2-3、运行客户端

再打开一个CMD窗口,进入到C:\\MongoDB\\bin目录下,运行客户端mongo.exe来登录MongoDB。(要保持服务端mongod.exe的窗口不关闭)

2-4、测试操作

MongoDB使用GridFS来储存大文件。每个BSON对象大小不能超过4MB。

字段名:不能以“$”开头;不能包含“.”;“_id”是系统保留的字段,但用户可以自己储存唯一性的数据在字段中。

MongoDB为每个数据库分配一系列文件。每个数据文件都会被预分配一个大小,第一个文件名字为“.0”,大小为MB,第二个文件“.1”为128MB,依此类推,文件大小上限为2GB。

MongoDB没有新建数据库或者collection的命令,只要进行insert或其它操作,MongoDB就会自动帮你建立数据库和collection。当查询一个不存在的collection时也不会出错,Mongo会认为那是一个空的collection。

一个对象被插入到数据库中时,如果它没有ID,会自动生成一个“_id”字段,为24位16进制数。

MongoDB命令行客户端的脚本语法有些类似MySQL的:

> show dbs         // 列出所有数据库

> use memo         // 使用数据库memo。即使这个数据库不存在也可以执行,但该数据库不会立刻被新建,要等到执行了insert等的操作时,才会建立这个数据库。

> show collections     // 列出当前数据库的collections

> db             // 显示当前数据库

> show users         // 列出用户

更多语法,查看help

新建数据库与数据集合:

    插入数据:(插入数据的方式有很丰富)

查询数据: 

MongoDB的查询语法很强大,类似于SQL的条件查询。例如,很多SQL可以做的,它都可以做:

db.foo.find()                            // select * from foo

db.foo.find().limit(10)                     // select * from foo limit 10

db.foo.find().sort({x:1})                     // select * from foo order by x asc

db.foo.find().sort({x:1}).skip(5).limit(10)     // select * from foo order by x asc limit 5, 10

db.foo.find({x:10})                         // select * from foo where x = 10

db.foo.find({x: {$lt:10}})                 // select * from foo where x <= 10

db.foo.find({}, {y:true})                     // select y from foo

一些SQL不能做的,MongoDB也可以做:

db.foo.find({"address.city":"gz"})             // 搜索嵌套文档address中city值为gz的记录

db.foo.find({likes:"math"})                 // 搜索数组

db.foo.ensureIndex({"address.city":1})     // 在嵌套文档的字段上建索引

更新数据:

db.foo.update({},{})更新对象,第一个参数是查询对象,第二个是替代的,可以在第二个对象里指定更新哪些字段,要使用$set。

    删除条件查询:

    删除数据集合(表):

    删除当前数据库:

db.foo.remove()是用来删除数据,只删除匹配的对象

索引:

db.foo.ensureIndex({productid:1})             // 在productid上建立普通索引

db.foo.ensureIndex({district:1, plate:1})         // 多字段索引

db.foo.ensureIndex({productid:1}, {unique:true}) // 唯一索引

总的来说,使用mongodb可以满足常见的增删改差,但是不能完成复杂的跨表级联查询,mongodb努力使数据变得简单紧凑。

2-5、备份与恢复

二进制数据格式,常用于备份、还原。

Mongodb的备份工具 mongodump:

事例:下图把备份数据库test中所有的数据集合(表)

MongoDB的数据恢复工具 mongorestore:

事例:恢复数据库test中的表t002的数据

2-6、数据导出、导入

json或cs    v格式,每次一个collection

数据导出:

    数据导入:

2-7、安全与认证

use test2                                     // 选择数据库test2

db.addUser("username", "password");            // 普通权限,可读写

db.addUser("username", "password", true);        // 只可读,不可写

db.system.users.remove({user: “username”});    // 删除用户

2-8、其他

还有一些脚本演示,如下:

1.> use test;

2.> j = { name : "mongo" };  

3.{"name" : "mongo"}  

4.> t = { x : 3 };  

5.{ "x" : 3  }  

6.> db.test.save(j);  

7.> db.test.save(t);  

8.> db.test.find();  

9.{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }  

10.{ "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }  

11.>  

12.> for (var i = 1; i <= 20; i++) db.test.save({x : 4, j : i});  

13.> db.test.find();  

14.> var cursor = db.test.find();  

15.> while (cursor.hasNext()) printjson(cursor.next());  

16.> db.test.find().forEach(printjson);  

17.> var cursor = db.test.find();  

18.> printjson(cursor[4]);  

19.> var arr = db.test.find().toArray();  

20.> arr[5];  

21.> db.test.find({name:"mongo"}).forEach(printjson);  

22.> db.test.find({x:4}, {j:true}).forEach(printjson);  

23.> printjson(db.test.findOne({name:"mongo"}));  

24.> db.test.find().limit(3); 

三、Linux下安装MongoDB操作

整理中。。。

3-1、下载与解压

官方网站:http://www.mongodb.org/downloads 

3-2、运行服务端

3-3、运行客户端

3-4、测试操作

MongoDB命令行客户端的脚本语法有些类似MySQL的:

> show dbs         // 列出所有数据库

> use memo         // 使用数据库memo。即使这个数据库不存在也可以执行,但该数据库不会立刻被新建,要等到执行了insert等的操作时,才会建立这个数据库。

> show collections     // 列出当前数据库的collections

> db             // 显示当前数据库

> show users         // 列出用户

更多学习教程,请查看学云网:www.ixueyun.com

文档

MongoDB快速入门教程

MongoDB快速入门教程MongoDB数据库一、MongoDB简介MongoDB是一个面向文档的数据库系统。使用C++编写,不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的row,collection对应MySQL的table。二、Windows下MongoDB操作MongoDB在Windows上的安装运行很方便。直接下
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top