下面就为大家详细讲解“MongoDB简介 MongoDB五大特色”的完整攻略。
MongoDB简介
MongoDB是一种基于分布式文件存储的非关系型数据库(NoSQL)。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB是由C++语言编写的,是一个开源的、面向文档的数据库管理系统。
MongoDB五大特色
下面为大家介绍MongoDB的五大特色:
1. 面向文档
MongoDB是面向文档存储的数据库,它存储的是类似JSON的BSON格式的文档。文档是多个字段的键值对集合,可以包含多个值,如下面的示例:
{
"_id": ObjectId("541680b2c0e20c2cc5f5cf31"),
"name": "MongoDB",
"type": "document-oriented",
"count": 1,
"info": {
"x": 203,
"y": 102
}
}
2. 动态Schema
MongoDB是一种无模式的数据库,它允许存储的文档结构可以随意改变,为数据建模带来了很大的灵活性。例如,可以将一个文档中的文本字段替换为另一个文档的二进制对象,而不需要对现有数据进行修改。
3. 支持多种查询和索引
MongoDB支持丰富的查询语言,包括匹配、范围查询、正则表达式匹配等等。同时,它还支持多种类型的索引,如单键、复合键、全文索引等等,能够支持更加灵活的数据库查询。
4. 高可扩展性
MongoDB可以通过对集群进行分片和副本集的方式,来扩展数据库的存储容量和读写性能。MongoDB的副本集是将数据复制到多个服务器的数据库,而分片则是将数据分散到多个服务器上的数据库。
5. 开源免费
MongoDB是一款开源的数据库,可以免费使用。同时,MongoDB还提供企业版以及一些收费的增值服务,以便更好地支持企业级应用。
示例说明
以下是一个示例,使用MongoDB建立一个简单的数据库,其中包含一个学生数据集合:
//连接MongoDB数据库
var MongoClient = require('mongodb').MongoClient,
assert = require('assert');
// Connection URL
var url = 'mongodb://localhost:27017/myproject';
// Create a new MongoClient
var client = new MongoClient(url);
// Use connect method to connect to the Server
client.connect(function(err) {
assert.equal(null, err);
console.log("Connected correctly to server");
var db = client.db('myproject');
//插入一条数据
db.collection('students').insertOne({
"name": "小明",
"age": 18,
"sex": "男",
"grade": "高一"
}, function(err, result) {
assert.equal(err, null);
assert.equal(1, result.insertedCount);
console.log("Inserted a document into the students collection.");
});
//查询数据
db.collection('students').find().toArray(function(err, docs) {
assert.equal(err, null);
console.log("Found the following records");
console.log(docs);
});
//关闭数据库连接
client.close();
});
以上就是MongoDB简介和MongoDB五大特色的完整攻略,希望对大家有所帮助。
本文链接:https://my.lmcjl.com/post/20419.html
展开阅读全文
4 评论