mongoose 入门以及 mongoose 实现数据 的增、删、改、查

一、mongoose 介绍

Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具。Mongoose 是 NodeJS 的驱动,不能作为其他语言的驱动。

Mongoose 有两个特点 :
1、通过关系型数据库的思想来设计非关系型数据库
2、基于 mongodb 驱动,简化操作

二、mongoose 的安装以及使用

官网:https://mongoosejs.com/

  1. 安装 npm i mongoose --save
  2. 引入 mongoose 并连接数据库
const mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/test'); 
如果有账户密码需要采用下面的连接方式: 
mongoose.connect('mongodb://eggadmin:123456@localhost:27017/eggcms?authSource=admin');

3、定义 Schema 数据库中的 Schema,为数据库对象的集合。schema 是 mongoose 里会用到的一种数据模式, 可以理解为表结构的定义;

每个 schema 会映射到 mongodb 中的一个 collection,它不具备 操作数据库的能力

var UserSchema=mongoose.Schema({ 
	name: String, 
	age:Number, 
	status:'number' 
})

4、创建数据模型 定义好了 Schema,接下就是生成 Model。
model 是由 schema 生成的模型,可以对数据库的 操作。

注意:mongoose.model 里面可以传入两个参数也可以传入三个参数
mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema)
mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema,参数 3:数据库集合名称)

如果传入 2 个参数的话:这个模型会和模型名称相同的复数的数据库建立连接:如通过下面 方法创建模型,那么这个模型将会操作 users 这个集合。

var User=mongoose.model('User', UserSchema);

如果传入 3 个参数的话:模型默认操作第三个参数定义的集合名称

5、查找数据

User.find({},function(err,docs){ 
	if(err){
		console.log(err); 
		return; 
	}
	console.log(docs); 
})

在这里插入图片描述

6、增加数据

var u=new User({ 
	//实例化模型 传入增加的数据 
	name:'lisi2222333', 
	age:20, 
	status:true 
})
u.save(); 

在这里插入图片描述
在这里插入图片描述

7、修改数据

User.updateOne({ name: 'lisi2222' }, { name: '哈哈哈' }, function(err, res) { 
	if(err){
		console.log(err); 
		return; 
	}
	console.log('成功') 
}); 

在这里插入图片描述
在这里插入图片描述

8、删除数据

User.deleteOne({ _id: '5b72ada84e284f0acc8d318a' }, function (err) { 
	if (err) { 
		console.log(err); 
		return; 
	}// deleted at most one tank document 
	console.log('成功'); 
});

在这里插入图片描述
在这里插入图片描述

9、保存成功查找

var u=new User({ 
	name:'lisi2222333', 
	age:20, 
	status:true //类型转换 
}) 

u.save(function(err,docs){ 
	if(err){
		console.log(err); 
		return; 
	}
	//console.log(docs); 
	User.find({},function(err,docs){ 
		if(err){
			console.log(err); 
			return; 
		}
		console.log(docs); 
	}) 
});
// 1.引入
const mongoose = require('mongoose')

// 2.建立连接
mongoose.connect('mongodb://admin:admin@127.0.0.1:27017/eggcms?authSource=admin')

// 3.操作users表(集合) 定义一个Schema
// Schema里面的对象和数据库里面表的字段需要一一对应

var UserSchema = mongoose.Schema({
    name: String,
    age: Number,
    status: Number
})
// 4.定义数据库模型,操作数据库
// model里面的第一个参数:
//      1.首字母大写
//      2.要和数据库表(集合)名称对应
var User = mongoose.model('User', UserSchema, 'users')


// 5.查询users表的数据
// User.find({}, function(err, data) {
//     if(err) {
//         console.log(err)
//         return;
//     }

//     console.log(data)
// })

// 6.增加数据
// 6.1 实例化Model  通过实例化User Model 创建增加的数据
// var u = new User({
//     name: '里斯',
//     age: 20,
//     status: 1
// });

// 6.2 实例.save()
// u.save(function(err) {
//     if(err) {
//         console.log(err)
//         return;
//     }
//     console.log('增加数据成功')
// }); // 执行增加操作



// 7.更新数据
// User.updateOne({ "_id": "607ab2dcf07e0000e40057a2" }, { "name": "曾鹏" }, function (err, data) {
//     if (err) {
//         console.log(err)
//         return;
//     }
//     console.log(data)
// })


// 8.删除数据
User.deleteOne({ "_id": "607ab2dcf07e0000e40057a2" }, (err, result)=>{
    if (err) {
        console.log(err)
        return;
    }
    console.log(result)    
})


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、mongoose 模块化

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mongoose是一个用于在Node.js中操作MongoDB的库。它提供了一种简单而优雅的方式来定义模型和进行数据库操作。下面是使用Mongoose进行的示例代码: 1. 增加数据: ```javascript const User = require('./models/user'); // 引入模型 const newUser = new User({ user: 'John', age: 25, inter: { field: 'value' } }); newUser.save((err, savedUser) => { if (err) { console.error(err); } else { console.log('用户已保存:', savedUser); } }); ``` 2. 数据: ```javascript const User = require('./models/user'); // 引入模型 User.find({}, (err, users) => { if (err) { console.error(err); } else { console.log('所有用户:', users); } }); ``` 3. 更新数据: ```javascript const User = require('./models/user'); // 引入模型 User.findOneAndUpdate({ user: 'John' }, { age: 30 }, { new: true }, (err, updatedUser) => { if (err) { console.error(err); } else { console.log('更新后的用户:', updatedUser); } }); ``` 4. 数据: ```javascript const User = require('./models/user'); // 引入模型 User.findOneAndDelete({ user: 'John' }, (err, deletedUser) => { if (err) { console.error(err); } else { console.log('已除的用户:', deletedUser); } }); ``` 请注意,上述示例中的`./models/user`是一个模型文件的路径,你需要根据你的实际情况进行修。同时,你还需要根据你的数据库配置修连接字符串中的`database_name`。 希望以上代码能帮助到你进行Mongoose操作。 #### 引用[.reference_title] - *1* *3* [Mongoose 操作数据库实现](https://blog.csdn.net/weixin_40629244/article/details/104906844)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [mongoose](https://blog.csdn.net/qq_40816649/article/details/88059295)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值