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 //辅助索引
}
});