关键词

MongoDB简介 MongoDB五大特色

下面就为大家详细讲解“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五大特色的完整攻略,希望对大家有所帮助。

本文链接:http://task.lmcjl.com/news/4789.html

展开阅读全文