我用Node.js尝试使用数据库(MongoDB)

1. 安装(Note: This translation assumes “install” refers to computer software. If you are referring to a different context, please provide additional information.)

设置安装文件。
使用sudo vim /etc/yum.repos.d/mongodb-org-3.4.repo命令。

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

执行安装。
sudo yum -y install mongodb-org

添加一个用于通过JavaScript使用MongoDB的驱动程序。
使用npm安装mongodb。

2. 数据库准备中

创建数据库

使用 testdb
※如果数据库不存在,将自动创建。

2-2. 创建集合(类似表格的东西)

创建一个名为testCollection的数据库集合。

从程序中使用。

3-1. 插入

只要将要注册的数据放入对象中就可以了。
即使每条记录的列(字段)不同也可以进行注册。
例如,第一行可以是“姓名,年龄”,第二行可以是“姓名,地址”。

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("testdb");
  var obj = { name: "Company Inc", address: "Highway 37" };
  // ----------------------------------------------------------------------
  // INSERT
  // ----------------------------------------------------------------------
  dbo.collection("testCollection").insertOne(obj , function(err, res) {
    if (err) throw err;
    db.close();
  });
});

在终端中执行命令 node insert.js。

选择3-2.

将搜索条件的键和值放入对象中,并将其传递给find函数,即可获取结果,结果存储在result中。

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("testdb");
  var obj = {name: "Company Inc"};
  // ----------------------------------------------------------------------
  // SELECT
  // ----------------------------------------------------------------------
  dbo.collection("testCollection").find(obj).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

在终端中运行 “node select.js”。

3-3. 更新

在 where 中填入更新条件的键和值。
在 set 中填入想要更新的键(列名)和值。
当把 where 作为 updateMany 的第一个参数,set 作为第二个参数传递时,
所有符合条件的记录都将被更新。
通过将更新对象指定为名为 $set 的键的值,
可以仅更新特定字段(列)。
※如果不使用 $set,则记录将被完整地用更新对象覆盖。

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("testdb");
  var where = {name: "Company Inc"};
  var set = {$set: {address: "update address!"}};
  // ----------------------------------------------------------------------
  // UPDATE
  // ----------------------------------------------------------------------
  dbo.collection("testCollection").updateMany(where, set, function(err, result) {
    if (err) throw err;
    console.log("update");
    db.close();
  });
});

在终端中执行命令 node update.js。

3-4. 删除

将削除条件的键和值放在哪里?
如果传递给deleteMany的第一个参数,则将删除所有符合条件的文档(记录)。

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("testdb");
  var where = {address: "update address!"};
  // ----------------------------------------------------------------------
  // DELETE
  // ----------------------------------------------------------------------
  dbo.collection("testCollection").deleteMany(where, function(err, result) {
    if (err) throw err;
    console.log("delete");
    db.close();
  });
});

在终端上执行命令”node delete.js”。