📜  在 mongodb 之间 - Javascript (1)

📅  最后修改于: 2023-12-03 14:51:02.548000             🧑  作者: Mango

在 MongoDB 之间 - Javascript

MongoDB 是一个基于文档存储的 NoSQL 数据库,它使用 BSON 格式存储数据,并支持大量的数据操作,例如聚合、索引等。在使用 MongoDB 时,Javascript 是非常重要的一部分,因为它提供了与 MongoDB 交互的常用 API。

安装 MongoDB 驱动

在开始使用 MongoDB 之前,需要安装 MongoDB 的驱动。可以使用 npm 命令来安装官方的 MongoDB 驱动:

npm install mongodb --save
创建 MongoClient

在使用 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 数据库的基本操作。