1. 什么是 MongoDB
MongoDB是一个开源且免费的文档数据库,它跑的极快,它可以存储非常大量的数据,同时还可以处理大量的并发请求。
它的数据结构非常灵活,不需要定义表结构,文档可以设计成非常复杂的嵌套形式,而且还支持事务处理。这些特性让MongoDB成为Web应用、日志处理、缓存等领域一个非常好的选择。
2. MongoDB的安装
2.1 下载 MongoDB
MongoDB的官方网站提供了适用于不同操作系统的安装包。您可以前往其网站选择适合您操作系统的版本下载并安装。
2.2 启动 MongoDB
在安装完成后,你可以在命令行中输入以下命令:
mongod
这会启动MongoDB数据库,并且可以监听27017
端口,以便客户端应用程序能够连接到它。
如果您希望数据目录在某个特定的位置,可以使用以下命令启动MongoDB服务器:
mongod --dbpath "path/to/data/directory"
3. MongoDB的基本操作
3.1 连接 MongoDB
连接MongoDB非常简单。在Node.js应用中,你可以使用mongodb
包中的MongoClient
对象。以下是一个基本的示例代码:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/myproject';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
3.2 插入数据
要插入数据,您需要使用insertOne
方法或者是insertMany
方法。以下是一个基本的示例代码:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/myproject';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myobj = { name: "MongoDB", description: "MongoDB is the best database", type: "Database" };
dbo.collection("customers").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("1 document inserted");
db.close();
});
});
3.3 查询数据
要查询数据,您需要使用find
方法。以下是一个基本的示例代码:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/myproject';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
dbo.collection("customers").find({}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
3.4 更新数据
要更新数据,您需要使用updateOne
方法或者是updateMany
方法。以下是一个基本的示例代码:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/myproject';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myquery = { address: "Valley 345" };
const newvalues = { $set: {name: "Mickey", address: "Canyon 123" } };
dbo.collection("customers").updateOne(myquery, newvalues, function(err, res) {
if (err) throw err;
console.log("1 document updated");
db.close();
});
});
3.5 删除数据
要删除数据,您需要使用deleteOne
方法或者是deleteMany
方法。以下是一个基本的示例代码:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/myproject';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db("mydb");
const myquery = { address: 'Mountain 21' };
dbo.collection("customers").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("1 document deleted");
db.close();
});
});
4. 小结
到这里你已经对MongoDB的基本操作有了一定的了解。你可以继续深入学习MongoDB的更多高级用法,比如,数据索引、聚合等。