entry.js 808 B

1234567891011121314151617181920212223
  1. var mongoose = require('mongoose'),
  2. Schema = mongoose.Schema,
  3. ObjectId = Schema.Types.ObjectId;
  4. var DEBIT = 'D',
  5. BILL = 'B';
  6. var EntrySchema = new Schema({
  7. account_id: {type: ObjectId, ref: 'Category', required: true},
  8. category: {type: ObjectId, ref: 'Account', required: false},
  9. sub_category: {type: ObjectId, required: false},
  10. label: {type: String, required:false},
  11. type: {type: String, required: true},
  12. amount: {type: Number, required: true},
  13. date: {type: Date, required: true},
  14. created_at: {type: Date, default: Date.now}
  15. });
  16. EntrySchema.index({account_id: 1, date: -1, type: 1});
  17. EntrySchema.index({account_id: 1, date: -1, category: 1, sub_category: 1});
  18. var Entry = mongoose.model('Entry', EntrySchema);
  19. module.exports = Entry;