export default function(db: Connection): Model<Document> { mongooseAutoIncrement.initialize(db); const schema = new Schema({ createdAt: { type: Date, required: true, default: Date.now }, cursor: { type: Number }, followee: { type: Schema.Types.ObjectId, required: true, ref: 'User' }, follower: { type: Schema.Types.ObjectId, required: true, ref: 'User' } }); // Auto increment schema.plugin(mongooseAutoIncrement.plugin, { model: 'UserFollowing', field: 'cursor' }); return db.model('UserFollowing', schema, 'UserFollowings'); }
/// <reference path="../mongoose/mongoose.d.ts" /> /// <reference path="./mongoose-auto-increment.d.ts" /> import * as autoIncrement from 'mongoose-auto-increment'; import * as mongoose from 'mongoose'; import { Schema } from 'mongoose'; var connection = mongoose.createConnection("mongodb://localhost/myDatabase"); autoIncrement.initialize(connection); var bookSchema = new Schema({ author: { type: Schema.Types.ObjectId, ref: 'Author' }, title: String, genre: String, publishDate: Date }); bookSchema.plugin(autoIncrement.plugin, 'Book'); var Book = connection.model('Book', bookSchema);
import {DatabaseObject} from '../type/model.d.ts' import * as mongoose from 'mongoose' import * as autoIncr from 'mongoose-auto-increment' import {getDatabaseConfig} from '../config' import {getLogger} from '../lib/logger' // mongoose promise change // tslint:disable mongoose.Promise = require('bluebird') // tslint:enable // mongoose plugins initialization autoIncr.initialize(mongoose.connection) // auto increment // models import {AlertModel} from './alert' import {AttachmentModel} from './attachment' import {DeliveryModel} from './delivery' import {PlaceModel} from './place' import {ProductModel} from './product' import {UserModel} from './user' import {OrderModel} from './order' import {StockModel} from './stock' export async function initDatabase (): Promise<DatabaseObject> { try { let mode: string mode = process.env.NODE_ENV || 'development'
import * as mongoose from 'mongoose'; import * as autoIncrement from 'mongoose-auto-increment'; mongoose.connect(`mongodb://${global.$g.config.database.connection}`); let db = mongoose.connection; autoIncrement.initialize(db); db.on('error', function(err){ console.log(`Connect to mongodb error: ${err}`); }); db.once('open', function(){ console.log(`Connect to mongodb successful.`); }); export { db, autoIncrement };