sql >> Base de Datos >  >> NoSQL >> MongoDB

Almacenamiento y recuperación de objetos JavaScript en/desde MongoDB

Recientemente me di cuenta de que en realidad es posible cambiar un prototipo de objetos en V8/node. ¡Si bien esto no está en el estándar, es posible en varios navegadores y especialmente en V8/node!

function User(username, email) {
    this.username = username;
    this.email = email;
}

User.prototype.sendMail = function (subject, text) {
    mailer.send(this.email, subject, text);
};

var o = {username: 'LoadeFromMongoDB', email: '[email protected]'};
o.__proto__ = User.prototype;
o.sendMail('Hello, MongoDB User!', 'You where loaded from MongoDB, but inherit from User nevertheless! Congratulations!');

Esto se usa en varios módulos y complementos, incluso los módulos principales hacen uso de esta técnica, aunque no es el estándar ECMAScript. Así que supongo que es seguro usarlo dentro de node.js.