An extension of the Mongoose pattern

extension of the pattern

  Defaults

    Type of default value:

      Fixed value

      even if generated

    Code display:    

      var mongoose = require('mongoose');
      mongoose.connect('mongodb://localhost/test1');
      var AppleSchema = new mongoose.Schema({
        appleName : {
          type : String,
          default : '江苏红果'
        },
        madeTime : {
          type : Date,
          default : Date.now //new Date()
        }
      });
      var Apple = mongoose.model('Apple',AppleSchema);
      var apple1 = new Apple();
      console.log('User:',apple1);

  pattern modifier

    Types of:

      Predefined Pattern Modifiers

      custom setter modifiers

      custom getter modifier

    Code display:   

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test1');
var AppleSchema = new mongoose.Schema({
appleName : {
  type : String,
  default : ' 江苏红果 ',
  trim : true
},
madeTime : {
  type : Date,
  default : Date.now //new Date()
},
address : {
  type : String,
  /*set : function(url){
    if(!url){
      return ;
     }
    if(-1 === url.indexOf('http://')&& -1 === url.indexOf('https://')){
      url = 'http://' + url;
    }
    return url;
  },*/
get : function(url){
  if(!url){
    return ;
  }
  if(-1 === url.indexOf('http://')&& -1 === url.indexOf('https://')){
    url = 'http://' + url;
  }
  return url;
 }
}
});
var Apple = mongoose.model('Apple',AppleSchema);
/*var Apple = mongoose.model('Apple',{
  appleName : {
    type : String,
    trim : true
   },
  address : {
    type : String,
    set : function(url){
    if(!url){
    return ;
  }
  if(-1 === url.indexOf('http://')&& -1 === url.indexOf('https://')){
    url = 'http://' + url;
  }
  return url;
}
}
});*/
var apple1 = new Apple({
  appleName : 'Jiangsu Hongguo',
  address : 'baidu.com'
});

/*apple1.save(function(err){
  if(err){
    return 'Save error!';
  }
});*/

Apple.find(function(err,docs){
  if(err){
    return 'Find failed!';
  }
  console.log('The data in the database is: ',docs);
 });

console.log('apple1为:',apple1.address);

//default is unique to the schema

  

virtual property

  Method to realize:

    Schema.virtual ()

  Code display: 

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test1');
var AppleSchema = new mongoose.Schema({
  firstName : String,
  lastName : String
});
AppleSchema.virtual('fullName').get(function(){
  return this.firstName + '' + this.lastName;
});
AppleSchema.set('toJSON',{getters : true,virtual : true});
  var Apple = mongoose.model('Apple',AppleSchema);
  var apple1 = new Apple({
  firstName : 'app',
  lastName : 'le'
});
console.log('apple fullName:',apple1.fullName);
console.log('JSON:',JSON.stringify(apple1));

    

index

  index:

    The purpose of the index

    unique index

    Auxiliary index//Increase query speed

  Code display:

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test1');
var AppleSchema = new mongoose.Schema({
code : {
  type : Number,
  unique : true //唯一索引
},
name : {
  type : String,
  index : true //辅助索引
}
});

model method

data verification

middleware

DBRef

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325155812&siteId=291194637