当前位置:网站首页>Mongodb在node中的使用
Mongodb在node中的使用
2022-07-06 09:29:00 【社会你磊哥,命硬不弯腰】
安装mongodb
首先先认识一下这个数据库,MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
安装并配置这个数据库参考官网即可!本篇博客主要说明在该数据库与node怎样建立连接并且实现增删改查等主要功能!
安装mongoose
我们在与数据库建立连接的过程中使用的是mongoose这个第三方包!
$ npm install mongoos
设置集合结构,字段名称是表结构中的属性名称,约束的目的是保证没有脏数据!
var Schema = mongoose.Schema;
var userSchame = new Schema({
username: {
type: String,
required: true
},
age: {
type: Number,
required: true
},
mobelphone: {
type: Number
}
})
连接数据库,连接的是test数据库!
mongoose.connect('mongodb://localhost:27017/test', {
useNewUrlParser: true });
将文档结构发布为模型,mongoose会将第一个大写字符串的作为数据库的名称,并将其小写字符串复数作为一个集合!
var User = mongoose.model('User', userSchame);
var admin = new User({
username: "gaochi",
age:18,
mobelphone: "12345678"
});
增
admin.save(function (err, ret) {
if (err) {
console.log("wrong!")
}
else {
console.log(ret);
}
})
删
User.remove(
{
name: 'renjialei' },
function (err, ret) {
if (err) {
console.log("删除失败");
} else {
console.log("删除成功");
}
})
改
User.updateMany({
username: 'renjialei' }, {
age: 17 }, function (err, ret) {
if (err) {
console.log("更改失败");
} else {
console.log("更改成功");
}
})
查
User.find(
//这块写的是我们的查询条件!
/* { username: 'gaochi' }, */
function (err, ret) {
if (err) {
console.log('err!');
} else {
console.log(ret);
}
})
最后附加上几个mongodb的简单命令
mongod //开启数据库!
mongo //开启数据库之后,该命令可以将数据库和客户端连接起来!
show dbs //展示数据库集合名称
use (collections)//进入数据库集合,没有则创建!
db.(collections).find() //查找集合中的数据!
show collections //展示数据库里面的所有集合!
db.(collections).insertOne({
}) //向数据库里面添加数据!
补充一个非常重要的知识点,mongod命令可以启动mongodb程序,必须在启动命令的那个盘的根目录下创建一个/data/db的文件夹,保存我们的数据,而不是在下载mongodb的那个目录下去创建文件夹!mongo命令则在我们的项目文件下去使用,将项目和数据库连接起来!
边栏推荐
- ByteDance open source Gan model compression framework, saving up to 97.8% of computing power - iccv 2021
- TypeScript基本操作
- ~71 abbreviation attribute of font
- @RestController、@Controller
- Codeforces Round #771 (Div. 2)
- Educational Codeforces Round 122 (Rated for Div. 2)
- 谢邀,人在工区,刚交代码,在下字节跳动实习生
- Simply try the new amp model of deepfacelab (deepfake)
- 字节跳动海外技术团队再夺冠:高清视频编码已获17项第一
- One hundred questions of image processing (1-10)
猜你喜欢
SQL快速入门
How to configure hosts when setting up Eureka
The most lost road I have ever walked through is the brain circuit of ByteDance programmers
Chapter 5 yarn resource scheduler
LeetCode 1020. Number of enclaves
视频压缩编码和音频压缩编码基本原理
亮相Google I/O,字节跳动是这样应用Flutter的
~83 form introduction
Fdog series (V): use QT to imitate QQ to realize login interface to main interface, function chapter.
7-4 harmonic average
随机推荐
[unsolved]7-14 calculation diagram
Chapter 6 datanode
Tencent interview algorithm question
字节跳动多篇论文入选 CVPR 2021,精选干货都在这里了
搭建flutter环境入坑集合
姚班智班齐上阵,竞赛高手聚一堂,这是什么神仙编程大赛?
Educational Codeforces Round 122 (Rated for Div. 2)
J'ai traversé le chemin le plus fou, le circuit cérébral d'un programmeur de saut d'octets
@RestController、@Controller
Shell_ 00_ First meeting shell
Redis standalone startup
string. How to choose h and string and CString
TCP的三次握手和四次挥手
DS18B20数字温度计系统设计
Introduction to microservices
One hundred questions of image processing (1-10)
One hundred questions of image processing (11-20)
~86m rabbit practice
谢邀,人在工区,刚交代码,在下字节跳动实习生
Cmake error: could not create named generator visual studio 16 2019 solution