本篇内容主要讲解“怎么使用Node连接mongodb”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Node连接mongodb”吧!
Mongoose 是一个 Node.js 包,提供了一个使用 mongo 数据库的接口。在应用程序中使用它是非常轻量级的 npm 包。 Mongoose 拥有所有方法集,可以连接和访问存储在 Mongo 数据库中的数据。
react-giant:一个react+next.js+mongodb的学习项目。
这是 Node.js 项目开发必须的步骤之一,使用 npm 命令进行安装,在终端输入以下命令即可安装:
npm install mongoose --save
通常在使用数据库的时候,都需要先建立连接,通过以下方式建立连接:
const mongoose = require("mongoose");
const connectDb = async () => {
await mongoose.connect("mongodb://localhost:27017/admin");
};
connectDb();
在上面的代码中,mongoose.connect()
函数用于建立到MongoDB的连接。第一个参数指定了MongoDB的连接URL,格式为 mongodb://<host>:<port>/<database-name>?<options>
,其中<host>
指定MongoDB所在的主机名或IP地址,<port>
指定MongoDB的端口号,<database-name>
指定要连接的数据库的名称,<options>
是一些配置项,以参数的方式传递,如 ?useNewUrlParser=true&useUnifiedTopology=true
。对于需要用户名和密码连接的数据库,则<host>
参数方式为 username:password@127.0.0.1:27017
。
需要注意的是,mongoose 不同版本连接方式上有点区别,上述代码是在版本
7.0.2
可以正常使用。
在使用 Mongoose 时,通常需要先定义一个模型和对应的模式。模型是指 MongoDB 中的一个集合,而模式则指定了集合中每个文档的结构和字段。以下是一个简单的模式定义示例:
const mongoose = require("mongoose");
const userSchema = new mongoose.Schema({
username: {
type: String,
required: true,
},
email: {
type: String,
required: true,
unique: true,
maxlength: [255, "Email length must be at most 255"],
},
ip: {
type: String,
required: true,
},
});
const User = mongoose.model("User", userSchema);
在定义了模型和模式之后,就可以使用模型进行 CRUD(创建、读取、更新、删除)操作。以下是一些常用的示例代码:
const mongoose = require("mongoose");
// 创建记录
async function createUsers() {
const result = await User.create({
username: "Quintion",
email: "quintiontang@gmail.com",
ip: "127.0.0.1",
});
return result;
}
// 查询文档列表
async function getUsers() {
const users = await User.find();
return users;
}
// 查询单个
async function getUser() {
const user = await User.find({
username: "Quintion",
});
return user;
}
// 删除记录
async function deleteUser() {
return await User.remove({
username: "Quintion",
});
}
到此,相信大家对“怎么使用Node连接mongodb”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。