📅  最后修改于: 2023-12-03 14:51:02.548000             🧑  作者: Mango
MongoDB 是一个基于文档存储的 NoSQL 数据库,它使用 BSON 格式存储数据,并支持大量的数据操作,例如聚合、索引等。在使用 MongoDB 时,Javascript 是非常重要的一部分,因为它提供了与 MongoDB 交互的常用 API。
在开始使用 MongoDB 之前,需要安装 MongoDB 的驱动。可以使用 npm 命令来安装官方的 MongoDB 驱动:
npm install mongodb --save
在使用 MongoDB 的 API 之前,需要创建一个 MongoClient 对象。MongoClient 可以作为一个连接池,用于创建 MongoDB 连接。
const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'myproject';
// Create a new MongoClient
const client = new MongoClient(url, { useNewUrlParser: true });
// Use connect method to connect to the Server
client.connect(function(err) {
console.log("Connected successfully to server");
const db = client.db(dbName);
// perform actions on the database
client.close();
});
MongoDB 使用文档数据模型,每个文档都是一个键值对的集合。在 Javascript 中,可以使用下面的代码将数据插入到 MongoDB:
// Insert a single document
const insertDocuments = function(db, callback) {
// Get the documents collection
const collection = db.collection('documents');
// Insert some documents
collection.insertOne({a : 1}, function(err, result) {
console.log("Inserted 1 document into the collection");
callback(result);
});
}
查询 MongoDB 中的数据可以使用 find()
和 findOne()
函数。find()
函数返回一个游标(cursor),可以使用 toArray()
函数将游标转换为数组,findOne()
函数直接返回一个文档对象。
// Find all the documents
const findDocuments = function(db, callback) {
// Get the documents collection
const collection = db.collection('documents');
// Find some documents
collection.find({}).toArray(function(err, docs) {
console.log("Found the following records");
console.log(docs);
callback(docs);
});
}
// Find a single document
const findDocument = function(db, callback) {
// Get the documents collection
const collection = db.collection('documents');
// Find a document
collection.findOne({a: 1}, function(err, doc) {
console.log("Found the following record");
console.log(doc);
callback(doc);
});
}
使用 MongoDB 的 updateOne()
和 updateMany()
函数可以更新指定的数据。
// Update a single document
const updateDocument = function(db, callback) {
// Get the documents collection
const collection = db.collection('documents');
// Update a document
collection.updateOne({ a : 2 }, { $set: { b : 1 } }, function(err, result) {
console.log("Updated the document with the field a equal to 2");
callback(result);
});
}
可以使用 deleteOne()
或者 deleteMany()
函数删除指定的数据。
// Remove a single document
const removeDocument = function(db, callback) {
// Get the documents collection
const collection = db.collection('documents');
// Delete a document
collection.deleteOne({ a : 3 }, function(err, result) {
console.log("Removed the document with the field a equal to 3");
callback(result);
});
}
以上就是 MongoDB 在 Javascript 中常用的 API,通过这些函数,可以实现对 MongoDB 数据库的基本操作。