Installer la mangouste
Utilisez express pour préparer un projet TestMongoDB. La séquence de commandes est la suivante :
express TestMongoDB cd TestMongoDB npm install
Après avoir exécuté la commande ci-dessus, utilisez la commande suivante pour installer Mongoose :
npm install mongoose --save
Cette commande installera Mongoose et l'utilisera comme dépendance du projet, et le pilote MongoDB et les modules d'expression rationnelle dont dépend Mongoose seront également automatiquement installés.
Exemple
En utilisant mongoose, vous pouvez créer une nouvelle base de données, créer une nouvelle collection et effectuer des opérations CRUD sur les documents de la collection. Lors de l'écriture du code, vous pouvez vérifier si les résultats répondent aux attentes par rapport au shell mongo.
Créez un nouveau fichier mongo.js sous TestMongoDB avec le contenu suivant :
var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/accounts'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { console.log('mongoose opened!'); var userSchema = new mongoose.Schema({ name:{type: String, unique: true}, password:String }, {collection: "accounts"} ); var User = mongoose.model('accounts', userSchema); User.findOne({name:"WangEr"}, function(err, doc){ if(err) console.log(err); else console.log(doc.name + ", password - " + doc.password); }); var lisi = new User({name:"LiSi", password:"123456"}); lisi.save(function(err, doc){ if(err)console.log(err); else console.log(doc.name + ' saved'); }); });
Pour le fichier ci-dessus, exécutez directement la commande "node mongo.js" pour voir l'effet.
Pour utiliser mangouste, demandez d'abord, puis utilisez la méthode connect pour vous connecter à la base de données. connecter le prototype :
connect(uri, options, [callback])
Le format de l'uri est similaire : "mongodb://user:pass@localhost:port/database".
L'objet de connexion de Mongoose définit certains événements, tels que connecté, ouvert, fermé, erreur, etc. Nous pouvons surveiller ces événements.
Dans notre exemple de code, j'ai écouté l'événement open, défini le schéma dans la fonction de rappel et appelé mongoose.model pour compiler le schéma et obtenir l'objet Model. Il convient de noter que le nom de la collection spécifié lors de la définition du schéma doit être cohérent avec le premier paramètre de mongoose.model.
Après avoir obtenu l'objet Modèle, vous pouvez effectuer des opérations telles que l'ajout, la suppression, la modification et la requête. L'objet Model possède des méthodes telles que find(), findOne(), update() et remove(), qui sont similaires à la façon dont nous les utilisons dans le shell mongo. Ces méthodes ont un rappel facultatif Lorsque vous fournissez ces rappels, les résultats de l'exécution vous seront renvoyés via ce rappel. Si vous ne le fournissez pas, ces méthodes renverront un objet Query. Vous pouvez assembler de nouvelles options via Query, puis appeler l'exécutable de Query (rappel) pour soumettre la requête.
J'ai utilisé le rappel au lieu de Query lors de la recherche des fichiers de WangEr dans le code.
L'objet Model possède une méthode Model(doc), qui est utilisée pour construire un document. Lors de la création d'un document Lisi, la méthode save() de cet objet Document peut enregistrer le document dans la base de données.
Opérations de base via mangouste :
1.Ajouté
var obj = new Movie(); obj.title = '标题一'; obj.content = '内容'; obj.save(function(err) { });
2. Supprimer
Movie.remove({ _id:id },function (err) { })
3. Changer
Movie.update({ _id:id },json,{},function (err) { })
4. Vérifiez
Movie.findOne({ _id: id }, function(err, obj) { }); Movie.find({}).sort({_id: -1}).limit(3).exec(function(err, obj) { })