代码如下: const mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1:81192/lets-go-brandon...('error',()=>{ console.log('***数据库连接失败***') }); db.on('open',()=>{ console.log('***数据库连接成功**...*') }); const tubeSchema = mongoose.Schema({ name: String, parentId: mongoose.Types.ObjectId...之前的学习笔记: 百度地图结合ECharts实现复杂覆盖物(Overlay) 百度地图叠加three.js 百度地图的MapVGL 添加自定义模型图层(ThreeJS) 百度地图Mapvgl-线轨迹图层 [转自...CSDN]echarts + 百度地图 飞线 [转CSDN]百度地图自定义标注 百度地图Polyline画直线 百度地图样式1,样式2 百度地图嵌入vue 百度地图散点图
console.log('当mongodb成功连接数据库之后会打印这个日志'); }) connect.on("error",(error)=>{ console.log('如果连接失败了...,会把失败的原因传递给',error); }) module.exports = connect 如果不加{ useNewUrlParser: true, useUnifiedTopology: true...支持的基本类型 String Number Date Buffer Boolean Mixed ObjectId Array 其中Mixed和ObjectId是 mongoose 特有的。...ObjectId是一种特殊类型,用于唯一标识符,可以理解为主键,一般使用mongoose.Types.ObjectId。...2.5 ObjectId 一个 ObjectId 其实可以分割为四部分,即当前时间戳,当前主机的hash,当前进程id,自动增加的计数器,有了这几个基本上就可以保证它的唯一性了。
5、mongoose验证 在创建集合规则时,可以设置当前字段的验证规则,验证失败就则输入插入失败。...(err => console.log(err, '数据库连接失败')); const postSchema = new mongoose.Schema({ title: {...title: { type: String }, // 使用ID将文章集合和作者集合进行关联 author: { type: mongoose.Schema.Types.ObjectId...(err => console.log(err, '数据库连接失败')); // 用户集合规则 const userSchema = new mongoose.Schema({ name: {...({ title: { type: String }, author: { type: mongoose.Schema.Types.ObjectId
#Mongoose的优势 可以像操作对象一样操作数据库 可以为文档创建一个模式结构(Schema) 可以对模型中的文档/文档进行验证 数据可以通过类型转换为对象模型 可以使用中间件来应用业务逻辑挂钩 比...Node原生的MongoDB驱动更容易 #使用Mongoose 下载安装mongoose模块 cnpm install mongoose --save 引用mongoose: var mongoose...("error",function (error) { console.log("数据库连接失败:" + error); }); db.connection.on("open",function...{ name: String, sex: String, age: Number }); 基本属性类型有: String Number Date Boolean Buffer ObjectId...console.log(person); }else{ console.log('保存失败!') } }) ?
var ObjectId = mongoose.Schema.Types.ObjectId; var StudentSchema = new Schema({}); //默认会有_id:ObjectId...var TeacherSchema = new Schema({id:ObjectId});//只有id:ObjectId 该类型的值由系统自己生成,从某种意义上几乎不会重复,生成过程比较复杂...}, other:{ type:'String', validate:[validator,err] //validator是一个验证函数,err是验证失败的错误信息...} }); 7.2 验证失败 如果验证失败,则会返回err信息,err是一个对象该对象属性如下 err.errors //错误集合(对象)...//错误类型 err.name //错误名称 err.message //错误消息 一旦验证失败
下载 npm i mongoose -s 连接数据库 const mongoose = require("mongoose"); mongoose.connect(dbURL); const db =...mongoose.connection; db.on("error", () => { console.log("链接失败"); }); db.on("open", () => {...Schema来约束数据的类型,支持以下类型数据 类型 作用 String 定义字符串 Number 定义数字 Date 定义日期 Buffer 定义二进制 Boolean 定义布尔值 Mixed 定义混合类型 ObjectId...会自己添加一个该字段,该字段不会重复,类型为ObjectId,通过findById()查询 const userSachem = new mongoose.Schema( { name...添加`createdAt updatedAt`创建时间和更新时间两个字段 } ); 如果在定义了结构后需要添加新字段,在实例上使用add()方法 创建表model 通过mongoose.model
({}) 允许使用的Schematypes有: String Boolean Date Number Array Buffer Mixed ObjectId 除了映射collection外,还可以定义...test: { type: String } // `test` is a path of type string }); 除了type属性,还可以对这个字段路径指定其它属性,比如在保存之前全部转换为小写...= require('mongoose') const Schema = mongoose.Schema; const personSchema = Schema({ _id:Schema.types.ObjectId...= Schema({ author:{type:Schema.types.ObjectId,ref:'Person'}, title:String, fans:[{type:Schema.types.ObjectId...model 中的 document 的 _id 保存 refs 保存 refs 与保存普通属性一样,把_id的值赋给他就好了 const author = new Person({ _id:new mongoose.Types.objectId
那么如何创建一个 Mongoose 插件,以更清洁的方式为你进行记录并简化 API 日志? Mongoose 中的插件是什么? 在 Mongoose 中,模式是可插入的。...这是我们的模型:models/log.js const mongoose = require('mongoose') const Schema = mongoose.Schema const { ObjectId...type: String, required: true }, category: { type: String, required: true }, createdBy: { type: ObjectId...它将 document 转换为 Object()和transform:false是为了不允许转换返回对象。...const mongoose = require('mongoose') mongoose.plugin(require('.
5、如果启动失败,证明上边的操作有误,在控制台输入 sc delete MongoDB 删除之前配置的服务,然后从第一步再来一次。...name:"孙悟空", tech_ids: [ ObjectId("59c4806d241d8d36a1d50de4"), ObjectId...("59c4806d241d8d36a1d50de5"), ObjectId("59c4806d241d8d36a1d50de6") ] } ]) 3.8...4.2 Mongoose 的好处 • 可以为文档创建一个模式结构(Schema) • 可以对模型中的对象/文档进行验证 • 数据可以通过类型转换转换为对象模型 • 可以使用中间件来应用业务逻辑挂钩 •...- 将 Document 对象转换为一个普通的 js 对象。转换为普通的 js 对象以后,所有的 Document 对象的方法或属性都不能使用了。
项目中的Mongodb设计 NodeJS的流行,离不开丰富的中间件支持,对于操作Mongoose的中间件,我推荐“mongoosejs”, 官网称之为:“Mongoose ODM”。...先学习以下Mongoose的基本用法 将Mongoose集成到项目中 npm install --save mongoose 连接数据库 var mongoose = require('mongoose...; }else{ console.log('数据保存失败:' + err); } }); 修改记录 User.findOneAndUpdate({_id: req.params.userId...; }else{ console.log('修改失败'); } }); 删除记录 User.deleteById(userId, function(err, doc){...在articleSchema中增加一个字段_user,类型为Schema.Types.ObjectId,关联User: _user: { type: Schema.Types.ObjectId,
.catch(err => console.log(err, '数据库连接失败')); // 创建集合规则 const userSchema = new mongoose.Schema({ name...(err, '数据库连接失败')); // 创建集合规则 const userSchema = new mongoose.Schema({ name: String, age: Number, email...(err, '数据库连接失败')); // 创建集合规则 const userSchema = new mongoose.Schema({ name: String, age: Number, email....catch(err => console.log(err, '数据库连接失败')); const postSchema = new mongoose.Schema({ title: { type...{ type: mongoose.Schema.Types.ObjectId, ref: 'User' } }); // 用户集合 const User = mongoose.model('User
在 mongoose 中有效的 SchemaTypes 有: String Number Date Buffer Boolean Mixed ObjectId Array Decimal128 Map...select: false }, content: { type: String, required: true }, answerer: { type: Schema.Types.ObjectId...如果连接失败,尝试用127.0.0.1代替localhost。...select: false }, content: { type: String, required: true }, answerer: { type: Schema.Types.ObjectId...ObjectId、Number、String 以及 Buffer 都可以作为 refs 使用。但是最好还是使用 ObjectId。
验证 在创建集合规则时,可以设置当前字段的验证规则,验证失败则插入失败。... validator: v => { // 返回布尔值 // true验证成功 // false验证失败...// 关联集合 const mongoose = require('mongoose'); // 连接数据库 mongoose.connect('mongodb://localhost/playground...true }).then(() => { console.log('数据库连接成功'); }).catch((error) => { console.log(error, '数据库连接失败... author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' } }); // 创建集合 const
验证 在创建集合规则时,可以设置当前字段的验证规则,验证失败则插入失败。...validator: v => { // 返回布尔值 // true验证成功 // false验证失败...使用id对集合进行关联 使用populate方法进行关联集合查询 // 关联集合 const mongoose = require('mongoose'); // 连接数据库 mongoose.connect...true }).then(() => { console.log('数据库连接成功'); }).catch((error) => { console.log(error, '数据库连接失败...author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' } }); // 创建集合 const
mongoose验证 在创建集合规则时,可以设置当前字段的验证规则,验证失败就则输入插入失败。...validator: v => { //返回布尔值l // true 验证成功 // false验证失败...// 文章集合 const Post = mongoose.model('Post', new mongoose.Schema({ title: { type: String }, //...使用ID将文章集合和作者集合进行关联 author: { type: mongoose.Schema.Types.ObjectId, ref: 'User' } })); //联合查询 Post.find...useUnifiedTopology: true }) .then(() => console.log('数据库连接成功')) .catch(() => console.log('数据库连接失败
后端 使用的技术: mongodb 数据库,这里我使用到了其ODM mongoose koa2 一个Node框架 pm2 进程守卫 apidoc 用来生成接口文档(如果你留意体验站点,右上角有一个...首先,我们对自己要存储的数据结构schema进行相关的定义: const mongoose = require('mongoose') const Schema = mongoose.Schema /.../ 定义留言字段 let MessageSchema = new Schema({ // 关联字段 -- 用户的id userId: { type: mongoose.Schema.Types.ObjectId...default: Date.now() }, updateAt: { type: Date, default: Date.now() } } }) mongoose.model...results: list, current: 1, count } return } ctx.body = { code: 10002, msg: '获取留言失败
下面两个方法更像是第一个方法的拆分,但是下面两个语义更加清晰 插入文档时,如果没有给文档指定 _id 属性,则数据库会自动为文档添加 _id,可以自己指定 _id 该属性为文档的唯一标识,不可重复,根据时间戳+机器码生成 ObjectId.../ 可以为文档创建一个模式结构(Schema) 可以对模型中的对象/文档进行验证 数据可以通过类型转换转换为对象 可以使用中间件来应用业务逻辑挂钩 比 Node 原生的 MongoDB 驱动更容易 使用...Mongoose 使用 npm install mongoose命令下载 使用 const mongoose = require('mongoose'); 引入 mongoose 使用 mongoose.connect..._id } }); 模块化连接 定义一个模块连接数据库 // tools/conn_mongo.js const mongoose = require('mongoose'); mongoose.connect.../tools/conn_mongo'); 定义一个模块,操作 Student 模型 // models/student.js const mongoose = require('mongoose');
下面两个方法更像是第一个方法的拆分,但是下面两个语义更加清晰 插入文档时,如果没有给文档指定 _id 属性,则数据库会自动为文档添加 _id,可以自己指定 _id 该属性为文档的唯一标识,不可重复,根据时间戳+机器码生成 ObjectId.../ 可以为文档创建一个模式结构(Schema) 可以对模型中的对象/文档进行验证 数据可以通过类型转换转换为对象 可以使用中间件来应用业务逻辑挂钩 比 Node 原生的 MongoDB 驱动更容易 使用...Mongoose 使用 npm install mongoose命令下载 使用 const mongoose = require('mongoose'); 引入 mongoose 使用 mongoose.connect...mongoose.connection.once('close',function(){}) 数据库连接断开事件 使用 mongoose.disconnect() 断开数据库连接(一般不使用)..._id } }); 模块化连接 定义一个模块连接数据库 // tools/conn_mongo.js const mongoose = require('mongoose'); mongoose.connect
简单的说,Mongoose就是对node环境中MongoDB数据库操作的封装,一个对象模型(ODM)工具,将数据库中的数据转换为JavaScript对象以供我们在应用中使用。...安装 mongoose npm install mongoose -S 连接及配置 const mongoose = require("mongoose"); mongoose.connect(...= require("mongoose"); const { Schema, model } = mongoose; const userSchema = new Schema( {...headline: { type: String }, // 座右铭 locations: { // 居住地 type: [{ type: Schema.Types.ObjectId..., ref: "Topic" }], select: false }, business: { type: Schema.Types.ObjectId, ref: "Topic
mongoose Mongoose:一款为异步工作环境设计的 MongoDB 对象建模工具。...") }) // 链接失败 mongoose.connection.on("error", function() { console.log("MongoDB connected error")...const mongoose = require('mongoose') const Schema = mongoose.Schema // 定义模型 const produtSchema = new...type: Number, min: 18, max: 65, required: true }, mixed: Schema.Types.Mixed, _someId: Schema.Types.ObjectId...userName, email }, msg: '注册成功' } } else { ctx.body = { status: 0, msg: '注册失败
领取专属 10元无门槛券
手把手带您无忧上云