node.js - nodejs - monje contra la mangosta para Mongodb
mongoose vs mongodb (2)
¿Son lo mismo que hacer la misma conexión? o tienen un propósito específico?
Son diferentes, aunque son dos enfoques del mismo problema básico. Mongoose es un ORM completamente sofisticado y completo. Más características, pero más complejidad. Monk es más pequeño en alcance y, por lo tanto, más fácil de entender.
Mi sugerencia es comenzar a codificar directamente con el módulo básico del controlador mongodb
. Cuando entiendas cómo funciona eso, y cómo partes de él son molestas, entenderás el beneficio del monk
y podrás probarlo para ver si te gusta. No recomendaría la mongoose
a un principiante. Mongodb ya es lo suficientemente complicado como para aprender y, aunque la mangosta puede ser útil, su API es bastante mágica y supone que ya conoces los aspectos complicados de mongodb.
Estoy aprendiendo NodeJs.
Para conectarte y usar MongoDB desde NodeJS, veo muchos ejemplos usando Monk o Mongoose.
¿Son estas dos bibliotecas equivalentes? ¿Tienen las mismas características o tienen cada uno un propósito específico?
Como principiante con NodeJS, ¿qué debería usar?
Aquí hay algunos ejemplos de código que usa Monk:
var mongo = require(''mongodb'');
var monk = require(''monk'');
var db = monk(''localhost:27017/nodejsapp'');
----
exports.userlist = function(db) {
return function(req, res) {
var collection = db.get(''users'');
collection.find({},{},function(e,docs){
res.render(''userlist'', {
"userlist" : docs
});
});
};
};
y aquí una muestra que usa Mongoose:
var mongoose = require(''mongoose'');
----
mongoose.connect(''localhost'', ''test'');
var db = mongoose.connection;
db.on(''error'', console.error.bind(console, ''connection error:''));
db.once(''open'', function callback() {
console.log(''Connected to DB'');
});
// User Schema
var userSchema = mongoose.Schema({
username: { type: String, required: true, unique: true },
email: { type: String, required: true, unique: true },
password: { type: String, required: true},
});
Si está aprendiendo NodeJS y Mongo, realmente no necesita nada más; de hecho, MongoDB ofrece una clase gratuita en línea para los desarrolladores de MongoDB y NodeJS. No es necesario ningún envoltorio adicional.