在输入命令npm start启动运行项目的时候,有时候会遇到这样的错误Error: Cannot find module 'mongoose',缺少mongoose这个模块。 ?...Error: Cannot find module 'mongoose' at Function.Module....Files\nodejs\node_cache\_logs\2019-01-09T01_53_44_235Z-debug.log 这个时候的解决办法就是,把缺少的模块安装上: npm install mongoose
在输入命令npm start启动运行项目的时候,有时候会遇到这样的错误Error: Cannot find module 'mongoose',缺少mongoose这个模块。...Error: Cannot find module 'mongoose' at Function.Module....Files\nodejs\node_cache\_logs\2019-01-09T01_53_44_235Z-debug.log 这个时候的解决办法就是,把缺少的模块安装上: npm install mongoose
5、mongoose验证 在创建集合规则时,可以设置当前字段的验证规则,验证失败就则输入插入失败。...第三方模块 用来操作数据库 const mongoose = require('mongoose'); // 数据库连接 mongoose.connect('mongodb://localhost/playground..., ref: 'User' } })); //联合查询 Post.find() .populate('author') .then((err, result) => console.log...(result)); // 引入mongoose第三方模块 用来操作数据库 const mongoose = require('mongoose'); // 数据库连接 mongoose.connect...Post.create({titile: '123', author: '5c0caae2c4e4081c28439791'}).then(result => console.log(result)); Post.find
2、什么是mongoose? Mongoose是MongoDB的一个对象模型工具,是基于node-mongodb-native开发的MongoDB nodejs驱动,可以在异步的环境下执行。...mongoose入门—狼叔 mongoose官网快速入门篇 3、安装mongoose $ npm install mongoose 4、连接数据库并监听数据库是否连接成功 var mongoose...= require('mongoose'); mongoose.connect('[mongodb://localhost/test');](mongodb://localhost/test');)...silence.speak(); } 9、查询 随着时间的流逝,现在我们想看看已经记录了多少只猫了; 我们可以通过Kitten模型访问我们所有记录过的所有小猫(数据记录行document) Kitten.find...参考学习 mongoose入门—狼叔 mongoose官网快速入门篇
Mongoose为了保证数据库数据的一致性,提供了对数据校验的功能,常用的校验有以下这些: 1. required 必须传入,用于任意类型 2. max 最大值,用于 Number 类型数据...输入的字符的长度最小长度,用于 String 类型 8. validate 自定义校验,用特定的方法来约束数据,用于任意类型 以下是使用实例 // 引入自定义的连接数据库的文件 var mongoose.../db.js'); var UserSchema = mongoose.Schema({ name: { type: String, trim: true,...default: 'success', // 值的枚举范围 enum: ['success', 'error'] } }) module.exports = mongoose.model
下载mongoose? npm insatll mongoose 如何使用mongoose?...require("mongoose"); mongoose官网 http://mongoosejs.com mongoose入门 简单看一下官网的hello world入门代码 // 引包,...并不需要引用mongodb这个包 var mongoose = require('mongoose'); //链接数据库,itatic是数据库名字 mongoose.connect...); tom.save(function(){ console.log('喵喵喵'); }); 上述代码没有明显操作数据库的语句,例如前面的MongoDB的db.find...查找的静态方法(只能定义在model层) StudentSchema.statics.chazhao=function(name,callback){ this.model("Student").find
” var mongoose = require('mongoose'); mongoose.connect("mongodb://localhost/test", function(err) {...执行代码后,控制台输出“连接成功” var mongoose = require('mongoose'); mongoose.connect("mongodb://u1:123456@localhost...const mongoose = require('mongoose'); const DB_URL = require(".....const mongoose = require('mongoose'); const Banner = new mongoose.Schema({ id: Number, title: String...class SourceController { // 获取首页banner async getBanner(ctx, next) { const res = await banner.find
一、mongoose 安装:npm install mongoose // 1,引入mongoose const mongoose = require('mongoose') // 2....function (cb){ return this.model('Animal').find(type:this.type,cb) } const Animal = mongoose.model...({ name: new RegExp(name, 'i') }); }; var Animal = mongoose.model('Animal', animalSchema); Animal.find...x为这些函数制定了新钩子 schema.pre('find',function(){ conosle.log(this instanceof mongoose.query) //true this.start...= Date.now() }) schema.post('find',function(result){ conosle.log(this instanceof mongoose.query) /
文章目录 引言 挂起状态是什么? 挂起状态和阻塞状态有什么区别? 如何主动挂起程序 总结 引言 以前对于这个概念始终比较模糊,遂在解决后记录博客,希望帮助到有同样问题的朋友。...而在这些状态之外还存在着一个状态,我们称之为挂起状态,它既可以是我们客户主动使得进程挂起,也可以是操作系统因为某些原因使得进程挂起。...既然我们知道了挂起状态引入的原因,那么我们再来看看带有挂起状态的进程状态转移过程: 相比于一般的五个状态的进程状态转移图,我们引入了两种挂起状态的类型,即就绪挂起状态和阻塞挂起状态。...而挂起是主动的,因为挂起后还要受到CPU的监督(等待着激活),所以挂起不释放CPU,比如sleep函数,站着CPU不使用。...参考: 博文《进程的挂起状态详细分析》 博文《操作系统——CPU和内存、挂起和阻塞》 博文《进程的阻塞和挂起的区别》 博文《挂起和阻塞区别以及sleep和wait的区别》 博文《Linux 进程的挂起和恢复
现在有两种进程模型,一种是包含单挂起态的模型,一种是包含两个挂起态的模型。...阻塞挂起->就绪挂起:如果等待的事件发生了,则处于阻塞/挂起状态的进程可转换到就绪/挂起态。注意,这要求操作系统必须能够得到挂起进程的状态信息。...就绪->就绪/挂起:通常,操作系统更倾向于挂起阻塞态进程而不是就绪态进程,因为就绪态进程可以立即执行,而阻塞态进程占用了内存空间但不能执行。...通俗的说,就是挂起不挂起,不光要考虑为进程让出空间,不光要考虑是否就绪,还要考虑进程的优先级。...因此使用了(新建->就绪/挂起)转换。
基本命令 nohup command & 例子 nohup python data.py > myout.file 2>&1 & > 重定向 myout...
. */ var mongoose = require("mongoose"); var db = mongoose.createConnection("127.0.0.1", "cms"); //...({ userName: {type: String, default: '匿名用户'}, trueName: mongoose.Schema.Types.String, title...添加实例方法 userSchema.methods.findByUserName = function (userName, callBack) { return this.model("user").find...model层就能使用 userSchema.statics.findByTitle = function (title, callBack) { return this.model("user").find...console.log(result); } db.close(); }); //查询,args:criteria, fields, options, callBack userModel.find
mongoose 核心概念 schema 约束字段/列数据 model模型 对应 集合 后期用它来实现数据增删改查 简介 安装 npm i mongoose schema 英文网: http://mongoosejs.com...使用 基本模型 // 一、导入模块 const mongoose = require("mongoose"); // 二、连接数据库 const db = mongoose.createConnection...; }) .catch((err) => { console.log("插入失败" + err); return false; }); 2.查询数据 model .find...return res; }) .catch((err) => { console.log(err); return false; }); 3.分页查询 model .find...// 一、导入模块 const mongoose = require("mongoose"); // 二、连接数据库 const db = mongoose.createConnection( "mongodb
1.2 准备工作 1.首先你必须安装MongoDB和NodeJS 2.在项目只能够创建一个数据库连接,如下: var mongoose = require('mongoose'); //引用...CRUD的 personEntity.save(); //执行完成后,数据库就有该数据了 9.如果要执行查询,需要依赖Model,当然Entity也是可以做到的 PersonModel.find.../查询类似数据 PersonSchema.methods.findSimilarTypes = function(cb){ return this.model('Person').find...}); 2.2 静态方法 静态方法在Model层就能使用,如下: PersonSchema.statics.findByName = function(name,cb){ this.find...因为query的操作始终返回自身,我们可以采用更形象的链式写法 Person .find({ occupation: /host/ }) .where('name.last
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,...
new Schema({ name: String })); // 连接成功前操作会被挂起 TestModel.findOne(function(error, result) { /* ... */..., [projection], [options], [callback]) 下面让我们依次看下 find()的各个参数在实际场景中的应用: conditionsModel.find({})Model.find...Model.find({},'age'); Model.find({},'-name'); 对象形式指定时,1 是包含,0 是排除。...Model.find({}, { age: 1 }); Model.find({}, { name: 0 }); options // 三种方式实现 Model.find(filter,null,options...) Model.find(filter).setOptions(options) Model.find(filter).
3 进程的挂起和唤醒 进程的挂起、阻塞、多进程。这些概念我们平时听得比较多,现在我们来看看他是实现是怎样的。进程的挂起,或者说阻塞分为两种。 1 主动挂起。通过sleep让进程间歇性挂起。...修改进程为挂起状态,等待唤醒。 2 被动挂起。 被动挂起的场景比较多,主要是进程申请一个资源,但是资源没有满足条件,则进程被操作系统挂起。比如我们读一个管道的时候。管道没有数据可读,则进程被挂起。...进程被挂起(分为可被信号唤醒和不能被信号唤醒两种)和唤醒的实现。
文章目录 一、协程的挂起和恢复概念 二、协程的 suspend 挂起函数 一、协程的挂起和恢复概念 ---- 函数 最基本的操作 是 : 调用 call : 通过 函数名或函数地址 调用函数 ; 返回..., 保存挂起点的局部变量 , 然后执行异步任务 , 后面的代码会得到异步任务执行完毕 , 恢复 Resume 挂起状态后再执行后续代码 ; 恢复 Resume : 暂停的协程 继续执行 ; 如果 没有挂起操作..., 只能在 协程体内部 或者 其它挂起函数 中调用 ; 协程外部不允许使用挂起函数 ; 在协程中 , 执行 挂起 Suspend 函数 , 将 挂起点的信息 记录下来 , 然后执行耗时操作 , 执行完毕后...恢复 Resume ; 二、协程的 suspend 挂起函数 ---- 声明挂起函数 , 使用 suspend 在 fun 关键字之前 修饰函数 , 如 : public suspend fun Test...){} 中 , 可以直接调用挂起函数 ; 挂起 函数 , 只能在 协程体内部 或者 其它挂起函数 中调用 ; 协程外部不允许使用挂起函数 ; 在协程中 , 执行 挂起 Suspend 函数 , 将 挂起点的信息
Mongoose为操作MongoDB数据库提供了很大的方便,在实际开发过程中,为了保证可扩展与可维护性,通常会将Mongoose进行模块化,下面记录一个模块化的实例,便于在以后的项目中复用。 1....定义db.js,连接数据库 var mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1:27017/test',...引入定义的db.js文件,生成schema,建立模型并导出,文件名为user.js var mongoose=require('..../db.js'); var UserSchema=mongoose.Schema({ name:String, age:Number, // 指定默认参数 status...(err){ if(err){ console.log(err); return; } // 获取user表的数据 UserModel.find
这样简单的一个需求在MySQL里要写一个很长的大SQL语句,但是在MongoDB里,凭借着Mongoose却可以轻松实现,实现步骤如下: 1....定义文章分类的schema生成模型导出,文件名 aritcleCate.js // 引入自定义的数据库连接文件 var mongoose = require('....定义用户的schema生成模型导出,文件名 user.js // 引入自定义的数据库连接文件 var mongoose = require('..../db.js'); var UserSchema = new mongoose.Schema({ username: { type: String, unique...定义文章的schema生成模型导出,文件名article.js // 引入自定义的数据库连接文件 var mongoose = require('.