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');
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 这个集合。
入 如果传入 3  个参数的话:模型默认操作第三个参数定义的集合名称
var User=mongoose.model('User', UserSchema);
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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
对于基本的操作,使用mongoose可以按照以下步骤进行: 1. 定义数据模式Schema:在定义数据模式时使用mongoose.Schema来创建一个新的模式对象。可以通过指定字段名称和类型来定义模式的属性,例如: ```javascript const mongoose = require("mongoose"); const Schema = mongoose.Schema; const NewsSchema = new Schema({ name: {type: String}, age: {type: Number}, sex: {type: String, required: [true, '请选择性别']} }); ``` 2. 定义数据模型Model:通过mongoose.model来创建一个新的模型对象,参数1为模型的名称,参数2为使用的模式对象,参数3为集合名称。例如: ```javascript const UserModel = mongoose.model('User', NewsSchema, 'user'); ``` 3. 数据:使用模型对象的create方法来创建一个新的文档,并将其保存到数据库中。例如: ```javascript UserModel.create({name: 'John', age: 25, sex: 'Male'}, (err, doc) => { if(err) { console.log(err); } else { console.log(doc); } }); ``` 4. 查询数据:使用模型对象的find方法来查询符合条件的文档。例如: ```javascript UserModel.find({name: 'John'}, (err, docs) => { if(err) { console.log(err); } else { console.log(docs); } }); ``` 5. 更新数据:使用模型对象的updateOne或updateMany方法来更新符合条件的文档。例如: ```javascript UserModel.updateOne({name: 'John'}, {age: 30}, (err, result) => { if (err) { console.log(err); } else { console.log(result); } }); ``` 6. 数据:使用模型对象的deleteOne或deleteMany方法来除符合条件的文档。例如: ```javascript UserModel.deleteOne({name: 'John'}, (err) => { if (err) { console.log(err); } else { console.log('除成功'); } }); ``` 以上是使用mongoose进行基本的步骤。可以根据具体的需求和条件进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [mongoose实现](https://blog.csdn.net/qq_44747461/article/details/121178662)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [eggjs实战(5)——eggjs+mongoose(egg-mongoose)技巧](https://blog.csdn.net/zjsj_lize/article/details/120938407)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT侠客行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值