本文概述
不确定如何将MongoDB与NodeJS一起使用?不用担心本指南将为你提供帮助。
NodeJS入门
在上一篇文章中, 我详细介绍了使你开始使用MongoDB的步骤。这些文章详细介绍了安装过程以及我们在MongoDB中使用的术语。
NodeJS是一种流行的基于Javascript的后端技术, 可在Google Chrome的Javascript V8引擎上运行。由于NodeJS减少了请求开销和使用Javascript进行编码的自由度, 它已成为一种非常流行的后端语言。
作为基于JavaScript的框架, 它使前端开发专家可以轻松地开始使用NodeJS后端。
本节简要介绍了如何设置NodeJS环境并编写你的第一个NodeJS代码。
NodeJS的安装非常简单。
要安装NodeJS, 请转到NodeJS站点上的下载页面。下载与你的操作系统相对应的设置。在执行安装程序时, 它将带你进行易于理解的指导安装。
确保在安装Node Package Manager(NPM)的同时安装Node。安装完成后, 你可以使用以下命令来验证安装。
$ node -v
v8.11.1
安装完节点后, 让我们创建一个简单的Javascript文件并使用Node执行该文件。
在你选择的目录中创建文件index.js, 并在其中添加以下代码。
console.log('This is my first node application');
let a=5;
let b=10;
console.log('a+b='+(a+b));
保存文件后, 打开终端或命令提示符。导航到文件保存目录, 然后执行以下命令。
$ node index.js
节点引擎执行文件中的代码, 并在终端中输出相关语句。上面命令的输出将如下所示。
This is my first node application
a+b=15
安装适用于MongoDB的NodeJS插件
现在, 你已经安装了数据库并安装了Node后端, 让我们继续创建一个简单的NodeJS项目, 该项目可以将数据插入数据库或从数据库检索数据。
在NodeJS中, 可用的插件使几乎每个任务变得简单。与Java中的数据库驱动程序相似, NodeJS中的MongoDB插件可帮助你使用更直接的命令与数据库进行通信。
Node Package Manager(NPM)是一个插件, 用于通过单个命令安装多个NodeJS插件。
首先, 创建练习目录并使用以下命令为节点项目初始化它。
注意:尽管NodeJS有许多可用的IDE, 但我发现Microsoft Visual Code是最用户友好的。随时下载它可以使过程更容易。
$ npm init
.
.
.
Press ^C at any time to quit.
package name: (node_practice)
version: (1.0.0)
description: Node JS to Mongo DB
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/abhishekkothari/Desktop/node_practice/package.json:
{
"name": "node_practice", "version": "1.0.0", "description": "Node JS to Mongo DB ", "main": "index.js", "scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}, "author": "", "license": "ISC"
}
Is this ok? (yes)
因此, 该文件夹已初始化, 现在包含package.json文件。
这个package.json文件包含将安装到目录中的插件的详细信息。
要为NodeJS安装MongoDB插件, 请输入以下命令。
$ npm install --save mongodb
此命令将插件以及必要的依赖项安装在node_modules目录中。标志–save确保将插件添加到package.json中的依赖项列表, 如下所示。
"dependencies": {
"mongodb": "^3.0.10"
}
连接并插入第一个文档
一旦安装了必要的插件, 就该插入我们的第一个文档了。 MongoDB中的文档是一条插入到数据库表之一的记录。
首先, 使用以下命令启动MongoDB服务。
$ ./mongod --dbpath=
如果是Windows, 请使用以下命令。
> "C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe"
从我们的第一个nodeJS代码开始, 以连接到数据库。创建一个index.js文件开始。在文件中添加以下代码。
var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/newdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database connected!");
db.close();
});
这里的newdb是你希望放入数据的数据库的名称。它类似于MySQL中的架构。
但是, MongoDB的区别在于, 如果你尚未创建数据库, 则插件会为你创建数据库。要插入第一个文档, 请更新index.js以反映以下代码。
var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/newdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database connected!");
var dbo = db.db("newdb");
dbo.collection("students").insertOne({"name":"Abhishek", "marks":100}, function(err, res) {
if (err) throw err;
console.log("1 document inserted");
db.close();
});
});
为了节省你每次重新执行文件的工作, 你可以选择安装插件nodemon。 Nodemon监视任何文件更改, 并在更改后自动重新运行该文件。
要安装nodemon, 请使用npm命令npm install -g nodemon。
-g选项全局安装nodemon。因此, 它将可以在每个未来的节点项目中使用。
使用简单命令nodemon启动nodemon。
如果一切顺利, 则将第一个文档插入名为” students”的集合中。你可能已经注意到, 你不需要首先创建表。
当你将第一个文档插入表时, 将自动创建该表。
插入多个文件
MongoDB在JSON字符串上起作用。因此, 将多个文档插入MongoDB非常简单。你需要做的就是将JSON数组传递给正确的函数以插入多个文档。
让我们更新代码以插入多个文档。
var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/newdb";
MongoClient.connect(url, function(err, db) {
if (err) throwerr;
console.log("Database connected!");
vardbo=db.db("newdb");
dbo.collection("students").insertMany([{"name":"John", "marks":90}, {"name":"Tim", "marks":80}], function(err, res) {
if (err) throwerr;
console.log("Documents inserted");
db.close();
});
});
可以注意到, 代码中有两个更改。该函数更改为insertMany, 并且第一个参数现在是JSON数组。因此, 将作为JSON数组传递的文档插入其中。
查看, 过滤和删除记录
查看记录
与用于插入文档的插入功能类似, 视图记录功能也接受基于JSON的过滤器。
要查看students表中的所有记录, 请执行以下代码。
var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/newdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database connected!");
var dbo = db.db("newdb");
var results = dbo.collection("students").find({});
results.forEach(row => {
console.log(row);
});
});
函数调用find({})接受一个空的JSON, 因此返回数据库中所有可用的文档。上面代码的输出将类似于以下所示。
Database connected!
{ _id: 5b1a1d323c5f4617b1263e49, name: 'Abhishek', marks: 100 }
{ _id: 5b1a20afb57cd517da966113, name: 'John', marks: 90 }
{ _id: 5b1a20afb57cd517da966114, name: 'Tim', marks: 80 }
筛选记录
要过滤记录, 你需要做的就是在上面的find({})函数中将过滤器属性作为JSON传递。该代码将类似于下面显示的代码。
var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/newdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database connected!");
var dbo = db.db("newdb");
var results = dbo.collection("students").find({marks:90});
results.forEach(row => {
console.log(row);
});
});
在这里, 我们用等于90的标记过滤了记录。上面代码的输出将类似于以下所示。
Database connected!
{ _id: 5b1a20afb57cd517da966113, name: 'John', marks: 90 }
要了解有关过滤器字符串的更多信息, 请访问此链接。
删除记录
最后, 是时候删除记录了。使用NodeJS在MongoDB中进行删除操作类似于查找行。
将使用遵循过滤器字符串条件模式的JSON提供条件。下面显示了删除标记= 90的记录的示例代码。
var mongo = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/newdb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("Database connected!");
var dbo = db.db("newdb");
dbo.collection("students").remove({marks:90});
var results = dbo.collection("students").find({marks:90});
if(!results.count==0){
console.log('No record found');
}
results.forEach(row => {
console.log(row);
});
});
上面的代码删除带有标记= 90的记录, 然后检查记录是否存在。
上面的代码给出的输出类似于以下所示:
Database connected!
No record found
我希望这可以为你提供将MongoDB与Node.js应用程序结合使用的想法。你可能也有兴趣通过参加本在线课程来学习更多。
评论前必须登录!
注册