Mondodb是一种面向文档型的数据库,可以理解为一种键值存储数据库。在Mondodb中,数据是以JSON格式保存的文档,不需要预先定义数据表结构。Mondodb的优点在于支持快速的数据读取与写入,尤其对大数据量的应用具有非常良好的表现。Mondodb应用在WEB应用中非常广泛,很多时候可以不需要配置表结构,提高了开发效率。
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Connected to database!");
var myobj = { name: "John", age: 30, city: "New York" };
db.collection("customers").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("1 document inserted");
db.close();
});
});
MySQL是一种关系型数据库,需要事先定义数据库和表结构。在MySQL中,数据是以表格形式保存的,每个表格可以有多个关联的数据项。MySQL对事务处理能力很强,在对数据的完整性和安全性要求比较高的应用使用较为广泛。
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected to database!");
var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("1 document inserted");
});
});
综上所述,Mondodb和MySQL在不同的应用场景中有着各自的优缺点。在开发中需要根据具体的需求选择合适的数据库管理系统。