MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Armazenando e recuperando objetos JavaScript no/do MongoDB


Recentemente, percebi que é realmente possível alterar um protótipo de objetos em V8/node. Embora isso não esteja no padrão, é possível em vários navegadores e especialmente no 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!');

Isso é usado em vários módulos e plugins - mesmo os módulos principais fazem uso dessa técnica, embora não seja o padrão ECMAScript. Então eu acho que é seguro usar dentro do node.js.