MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose:как да настроите поле на схема да бъде ID?

Тъй като използвате Mongoose, една опция е да използвате имейл низа като _id поле и след това добавете виртуално поле с име email който връща _id за да изчистите кода, който използва имейла.

var userSchema = new Schema({
    _id: {type: String},
    passwordHash: {type: String},
    roles: {type: [String]}
});

userSchema.virtual('email').get(function() {
    return this._id;
});

var User = mongoose.model('User', userSchema);

User.findOne(function(err, doc) {
    console.log(doc.email);
});

Имайте предвид, че виртуално поле не е включено по подразбиране при конвертиране на Mongoose документ в обикновен JS обект или JSON низ. За да го включите, трябва да зададете virtuals: true опция в toObject() или toJSON() обаждане:

var obj = doc.toObject({ virtuals: true });
var json = doc.toJSON({ virtuals: true });



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изчислете стойността на пропускане за даден запис за сортирани страници

  2. Meteor, дефинирайте колекциите динамично

  3. мангуст модел, масив от низове, масив от структура на обекти

  4. ObjectID, генериран от сървър на pymongo

  5. Групиране на Mongo по месеци с помощта на UNIX милисекунди време