做批量删除的时候,前台一定要有一个接收的数组。...id = implode(',', $id); //将数组转换成字符串的形式,例如转换成1,2,3,5 if($link->delete($id)) { $this->success('批量删除成功...,U('index')); } else { $this->error('批量删除失败!'); } Tags: None Archives QR Code
该 versionKey 是每个文档首次创建时,由 mongoose 创建的一个属性。包含了文档的内部修订版。此文档属性是可配置的。默认值为__v。...,完整的连接选项看这里 bufferCommands:这是 mongoose 中一个特殊的选项(不传递给 MongoDB 驱动),它可以禁用 mongoose 的缓冲机制。...移除数组字段中与查询条件匹配的所有元素 { pull: {arrayField: value / condition, ... } }pullAll从数组中删除所有匹配的值 { pullAll: { arrayField...,则设置排序顺序以选择要删除哪个文档。...要删除第一个匹配条件的文档,可将 single 选项设置为 true。
} else { ... } } }) } } }) }; 获取考试记录,子文档数组分页模糊查询...—删除试卷 删除某一个试卷,既要删除教师中对应的试卷_id,也要删除问题中对应的试卷_id // 删除试卷 exports.deletePaper = function (req, res) {...let id = req.body.id; let userName = req.session.userName; // 第一步 删除教师中的_id _papers是一个数组,所以用到了`$pull..._id 这里并没有删除试卷中包含的问题,是为了以后题库做准备 Question.updateMany({'_papers':{$in:id}},{'$pull':{'_papers...}) // .......................判断太长省略........................ }) }; 更新子文档数组
删除 model的remove方法可以删除所有匹配查询条件(condition)的文档 Tank.remove({size:small},function(err){ if(err) return...-SubDocuments 子文档是指嵌套在另一个文档中的文档。...Mongoose子文档有两种不同的概念:子文档数组和单个嵌套子文档 const chidlSchema = new Schema({name:String}) const parentSchema...= new Schema({ children:[childSchema], child:childSchema }) 子文档与文档的区别是 子文档不能单独保存,他们会在他们的顶级文档保存时保存...使用场景: 复杂的数据校验 删除依赖文档(删除用户后删除他的所有文档) asynchronous defaults asynchronous tasks that a certain action
mongodb 文档型数据库,nodejs的好基友。...{ name: "芒果" }, { $set: { name:'广药的芒果' } } ); console.log("更新成功", r.result); // 7.删除文档...category: '热带水果' } }, ); // 更新内嵌字段 { $set: { ..., area: {city: '三亚'} } } // 数组相关:$,$[],$addToSet,$pull...而mongoose就是i 一个良好的工具。 mongoose是一个优雅的nodejs对象文档模型。它是由关系型数据库的思想去应用到非关系型数据库。...文档地址:https://mongoosejs.com/docs/guide.html 安装: npm install mongoose -S 增删改查使用实例 const mongoose = require
跳过多少条数据 limit 限制查询数量 User.find().skip(2).limit(3).then(result => { console.log(result) }) 5.删除文档...// 删除单个文档 如果条件包含多个文档,默认删除符合条件的第一个文档 返回删除的文档 User.findOneAndDelete({ _id: '5c09f1e5aeb04b22f8460965...' }).then(result => { console.log(result); }); // 删除多个 如果条件为空,默认删除所有文档 返回一个对象,n代表删除的文档数,OK表示是否删除成功...({ title: { type: String, // 必传字段,不传就会报错 required: [true, '请传入文章标题'], ...mongoose.model('Post', postSchema); // 插入文档数据 // User.create({ // name: 'xc' // }).then(result =
remove方法 4.Sub Docs 如同SQL数据库中2张表有主外关系,Mongoose将2个Document的嵌套叫做Sub-Docs(子文档) 简单的说就是一个Document嵌套另外一个...not-x'}}); parent.save(function(err){ console.log(err.message); //#err:not-x }); 4.1 查询子文档... 如果children是parent的子文档,可以通过如下方法查询到children var child = parent.children.id(id); 4.2 新增、删除、更新 子文档是父文档的一个属性...,因此按照属性的操作即可,不同的是在新增父类的时候,子文档是会被先加入进去的。 ...如果ChildrenSchema是临时的一个子文档,不作为数据库映射集合,可以这样: var ParentSchema = new Schema({ children:{
; - 删除文档 db.collection.drop(); - 删除集合 3.4 安装图形化工具 1、双击 mongodbmanagerfree_inst.exe...() remove()可以用来移除指定文档对象,该方法接收一个查询文档作为参数,只有符合条件的文档才会被删除。 ...db.users.remove({_id: "001"}); // 删除一个或多个符合条件的文档对象 db.users.remove({age: 25, true}); // 只删除一个符合条件的文档对象...删除集合 db.collection.drop() db.users.drop(); // 删除集合(性能好),集合不存在 删除数据库 db.dropDatabase() 数据库中的数据一般不会删除...$set 修改文档中的指定属性 $unset 删除文档中指定的属性 $inc 自增文档中指定的属性的值 $push $addToSet db.users.update({username: "
跳过多少条数据 limit 限制查询数量 User.find().skip(2).limit(3).then(result => { console.log(result) }) 5.删除文档...// 删除单个文档 如果条件包含多个文档,默认删除符合条件的第一个文档 返回删除的文档 User.findOneAndDelete({ _id: '5c09f1e5aeb04b22f8460965...' }).then(result => { console.log(result); }); // 删除多个 如果条件为空,默认删除所有文档 返回一个对象,n代表删除的文档数,OK表示是否删除成功...({ title: { type: String, // 必传字段,不传就会报错 required: [true, '请传入文章标题'],...mongoose.model('Post', postSchema); // 插入文档数据 // User.create({ // name: 'xc' // }).then(result =
非关系型数据库的解决思路: 在文章的Collection中增加一个SubCollection,SubCollection中可以存放用户信息,如用户名,只要有用户喜欢了文章,在这篇文章的文档中的子文档下插入一条记录即可...先学习以下Mongoose的基本用法 将Mongoose集成到项目中 npm install --save mongoose 连接数据库 var mongoose = require('mongoose...; }else{ console.log('修改失败'); } }); 删除记录 User.deleteById(userId, function(err, doc){...err){ console.log('删除成功'); } }); 查询记录 User.findById(userId, callback); // one record User.findOne...关于NodeJS中数据库的知识,就写这么多了,想要更多的了解有关Mongoose的用法,请参考官方文档:Mongoosejs Guide。文档写得非常详细! Have a good luck~
4、删除文档和更新文档 // 删除单个 Course.findOneAndDelete({}).then(result => console.log(result)) // 删除多个 User.deleteMany...('User', userSchema); // 查找到一条文档并且删除 // 返回删除的文档 // 如何查询条件匹配了多个文档 那么将会删除第一个匹配的文档 // User.findOneAndDelete...({_id: '5c09f267aeb04b22f8460968'}).then(result => console.log(result)) // 删除多条文档 // {} 即删除所有文档 User.deleteMany...('User', userSchema); // 找到要删除的文档并且删除 // 返回是否删除成功的对象 // 如果匹配了多条文档, 只会删除匹配成功的第一条文档 // User.updateOne({...name: '李四'}, {age: 120, name: '李狗蛋'}).then(result => console.log(result)) // 找到要删除的文档并且删除 User.updateMany
//9.删除name为PHP的文档的intro属性 db.colleges.update({name:"PHP"},{$unset:{intro:"世界上最好的编程语言"}}); //10.向name...,删除基础课程"abc" db.colleges.update({name:"html5"},{$pop:{"classes.base":"abc"}}); //14.删除user集合 db.colleges.remove...mongoose的相关概念 mongoose中提供了几个新的对象: + Schema(模式对象):Schema对象定义约束了数据库中的文档结构 + Model:Model对象作为集合中的所有文档的表示...://数据库的ip地址:端口号/数据库名'); 如果端口号是默认端口号(27017) 则可以省略不写 4....()//删除多个 Model.deleteOne()//只删除一个 Model.remove() */ /* personModel.remove({ name: "乌索普" }, (err)
限制显示3条结果(分页可以用到) // User.find().skip(2).limit(3).then(result => console.log(result)) 删除文档 findOneAndDelete...('User', userSchema); // 查找到一条文档并且删除 // 返回删除的文档 // 如何查询条件匹配了多个文档 那么将会删除第一个匹配的文档 // User.findOneAndDelete...({_id: '5c09f267aeb04b22f8460968'}).then(result => console.log(result)) // 删除多条文档 User.deleteMany({})...('User', userSchema); // 找到要删除的文档并且删除 // 返回是否删除成功的对象 // 如果匹配了多条文档, 只会删除匹配成功的第一条文档 // User.updateOne({...name: '李四'}, {age: 120, name: '李狗蛋'}).then(result => console.log(result)) // 找到要删除的文档并且删除 User.updateMany
Mongoose本质是一个对象文档模型(ODM)库, 他对Node原生的MongoDB模块进行了一部优化封装,并且提供了更多的功能。...#Mongoose的优势 可以像操作对象一样操作数据库 可以为文档创建一个模式结构(Schema) 可以对模型中的文档/文档进行验证 数据可以通过类型转换为对象模型 可以使用中间件来应用业务逻辑挂钩 比...里都可以使用 具体可参考 :https://mongoosejs.com/docs/api.html#model_Model.find #mongoose 修改和删除 参考: https://mongoosejs.com...#删除方法 Model.remove() Model.deleteMany() Model.deleteOne() personModel.remove({name:'牛嘻嘻'}, (err)=>{...err){ console.log('删除成功!')
MongoDB是一款流行的文档型数据库,可以在Node.js中使用官方的MongoDB包或者第三方包mongoose进行操作。...(删)删除所有匹配条件的文档:Model.deleteMany(filter, options, callback);删除第一个匹配条件的文档:Model.findOneAndDelete(filter..., options, callback);根据 id 删除文档:Model.findByIdAndDelete(id, options, callback);更新(改)更新所有匹配条件的文档:Model.updateMany...使用官方的 mongodb 包来操作 MongoDB 数据库官方的 mongodb 包提供了许多方法来操作 MongoDB 数据库,例如:连接数据库、创建集合、插入文档、查询文档、更新文档、删除文档等。...增删改查数据时,可以通过构造函数生成文档对象,然后对文档对象进行操作,例如 save() 方法保存数据、remove() 方法删除数据、findOneAndUpdate() 方法更新数据等。
1.2 创建文档 创建文档实际上就是向集合中插入数据。...1.4 查询文档 // 根据条件查找文档(条件为空则查找所有文档) Course.find().then(result => console.log(result)) ?...1.5 删除文档 删除单个文档 查找到一条文档并且删除 返回删除的文档 如何查询条件匹配了多个文档那么将会删除第一个匹配的文档 User.findOneAndDelete({_id: '5c09f1e5aeb04b22f8460965...删除多个文档 如果没有给出删除的文档 那么将删除所有文档 User.deleteMany({}).then(result => console.log(result)); ?...实现代码: user.js const mongoose = require('mongoose'); // 创建用户集合规则 const userSchema = new mongoose.Schema
同时它也是一个对象数据库,没有表、行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储(文档,就是一个关联数组式的对象,它的内部由属性组成,一个属性对应的值可能是一个数、字符串、日期、数组,甚至是一个嵌套的文档...同时它也是针对MongoDB操作的一个对象模型库,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单。 2. Mongoose能做什么?...Mongoose,因为封装了对MongoDB对文档操作的常用处理方法,让NodeJS操作Mongodb数据库变得easy、easy、So easy!...我们想要操作MongoDB数据,那就得先要具备上面所说的包含数据的“文档”,文档又是什么意思呢,请看如下介绍。...创建集合 基于前面的内容,接下来我们就开始学习对数据的具体操作了,下面是关于一些基础数据的定义,相信对于你来说已经不陌生了,请在仔细温习一遍吧!
mysql数据库 -- 关系型数据库--表,字段,行 mongodb数据库 -- 非关系型数据库--集合,域,文档 mongodb的使用步骤: 1.安装 2.指定数据库的安装位置(创建一个文件夹...= require('mongoose'); let db=mongoose.connect('mongodb://localhost/tenDB', {useNewUrlParser: true}...res); }else{ console.log("查询失败"); } });*/ //给想要显示的字段赋值为1,不想显示的不写即可...err){ console.log("删除数据成功",res); }else{ console.log("删除数据失败",err);...structure query language, 结构化查询语言) CURD 1.增(insert) 2.删(delete) 3.改(update) 4.查(select) 注: SQL语句中的关键词, 不区分大小写
Cookie做登录校验的过程 前端传入用户名密码,传给后端 后端验证成功,返回信息时set-cookie 接下来所有接口访问,都自动带上cookie Session cookie只存储用户userid,不暴露用户信息...用户信息存储在客户端 代码演示 首先需要第三方库:koa-jwt 和 jsonwebtoken 然后,简单对jwt以及loginCheck中间价进行了一个介绍,下面是jwt代码演示,loginCheck不贴了...**现状:**研发流程不规范 5-4 supertest接口测试 supertest接口测试的目的是让所有接口稳起来。...Mongodb是一个文档数据库 Mongodb和Mysql Redis的对比 如何选择?...举例说明 文档数据库 Mysql 以表格形式存储数据 Redis以 key-value形式存储数据 Mongodb是以文档形式存储数据,格式像JSON 对比 Mysql 关系型 |表格存储
自动生成路由 生成一个文档,描述你写的接口。...全部接口文档包括:http://localhost:7001/swagger-doc 有了它,可以很方便地在注释创建接口,不需要再创建路由了!...app.emit('error', err, this) const status = err.status || 500 // 生产环境时 500 错误的详细错误内容不返回给客户端...'egg-mongoose',}, // config.default.js // 连接到mongodb config.mongoose = { url: 'mongodb://127.0.0.1...= app.mongoose const UserSchema = new mongoose.Schema({ mobile: { type: String, unique: true, required
领取专属 10元无门槛券
手把手带您无忧上云