node使用mysql中schema模型_mongoose: Schema与Model

前端js操作mongodb用到了mongoose

使用前先安装

$ npm install mongoose

配置连接数据库(官网示例)

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/test');

连接失败/成功的回调

var db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error:'));

db.once('open', function (callback) {

// 略

});

当然在实际项目中,我们可以对数据库的连接做一些自定义设置

export const mongooseOcr = mongoose.createConnection('mongodb://localhost/test', {

useNewUrlParser: true,

autoReconnect: true,

poolSize: 10,

keepAlive: 1,

connectTimeoutMS: 30000,

reconnectTries: Number.MAX_VALUE,

reconnectInterval: 2000,

})

连接之后,这里介绍一下Schema和Model

Schema: 在 Mongoose 中,所有数据都由一个 Schema 开始创建。每一个 schema 都映射到一个 Mongodb 的集合(collection),并定义了该集合(collection)中的文档(document)的形式。

相当于声明表结构信息,不能操作数据库

Model: 由Schema发布生成的模型,具有抽象属性

A model is a class with which we construct documents. In this case, each document will be a instance of this class with properties and behaviors as declared in our schema.

如:

import mongoose, { mongooseOcr } from '../../../mongodb'

const { Schema } = mongoose

export const OcrImgSchema = new Schema({

uid: { type: String, require: true, trim: true },

record_id: { type: String, require: true, trim: true },

content_data_uid: { type: String, require: true, trim: true },

type: { type: String, trim: true },

name: { type: String, trim: true },

field_uid: { type: String, trim: true },

url: { type: String, require: true, trim: true },

status: { type: Number, require: true, default: 0 },

reason: { type: String, trim: true },

createtime: { type: Date, default: Date.now, require: true },

updatetime: { type: Date, default: Date.now, require: true },

data: Schema.Types.Mixed,

ignore: { type: Boolean, default: false },

}, { timestamps: { createdAt: 'createtime', updatedAt: 'updatetime' } })

export default mongooseOcr.model('Ocr_Img', OcrImgSchema)

ps:model第一个参数如果不带s,影射到数据库里的collection名称会带上s

Schema 中的每一个键都定义了一个文档(document)的一个属性。属性类型有:String、Number、Date、Buffer、Boolean、Mixed、ObjectId、Array

Documents are instances of model.

var schema = new mongoose.Schema({ name: 'string', size: 'string' });

var Tank = mongoose.model('Tank', schema);

// Constructing documents

var small = new Tank({ size: 'small' });

small.save(function (err) {

if (err) return handleError(err);

// saved略

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值