Pasang mongoose
Gunakan ekspres untuk menyediakan projek TestMongoDB Urutan arahan adalah seperti berikut:
express TestMongoDB cd TestMongoDB npm install
Selepas melaksanakan arahan di atas, gunakan arahan berikut untuk memasang mongoose:
npm install mongoose --save
Arahan ini akan memasang mongoose dan menggunakannya sebagai kebergantungan projek, dan pemacu MongoDB dan modul regexp yang bergantung pada mongoose juga akan dipasang secara automatik.
Contoh
Menggunakan mongoose, anda boleh mencipta pangkalan data baharu, mencipta koleksi baharu dan melaksanakan operasi CRUD pada dokumen dalam koleksi Apabila menulis kod, anda boleh mengesahkan sama ada keputusan memenuhi jangkaan terhadap cangkang mongo.
Buat fail mongo.js baharu di bawah TestMongoDB dengan kandungan berikut:
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'); }); });
Untuk fail di atas, laksanakan terus arahan "node mongo.js" untuk melihat kesannya.
Untuk menggunakan mongoose, mula-mula perlukan, kemudian gunakan kaedah sambung untuk menyambung ke pangkalan data. sambungkan prototaip:
connect(uri, options, [callback])
Format uri adalah serupa: "mongodb://user:pass@localhost:port/database".
Objek sambungan Mongoose mentakrifkan beberapa acara, seperti disambungkan, buka, tutup, ralat, dll. Kami boleh memantau acara ini.
Dalam kod sampel kami, saya mendengar acara terbuka, mentakrifkan Skema dalam fungsi panggil balik dan memanggil mongoose.model untuk menyusun Skema dan mendapatkan objek Model. Perlu diingat bahawa nama koleksi yang dinyatakan semasa mentakrifkan Skema mestilah konsisten dengan parameter pertama mongoose.model.
Selepas mendapat objek Model, anda boleh melakukan operasi seperti penambahan, pemadaman, pengubahsuaian dan pertanyaan. Objek Model mempunyai kaedah seperti find(), findOne(), kemas kini(), dan remove(), yang serupa dengan cara kami menggunakannya dalam cangkerang mongo. Kaedah ini mempunyai panggilan balik pilihan Apabila anda memberikan panggilan balik ini, hasil pelaksanaan akan dikembalikan kepada anda melalui panggilan balik ini. Jika anda tidak menyediakannya, kaedah ini akan mengembalikan objek Pertanyaan Anda boleh memasang pilihan baharu melalui Pertanyaan, dan kemudian memanggil eksekutif Pertanyaan (panggilan balik) untuk menyerahkan pertanyaan.
Saya menggunakan panggil balik dan bukannya Pertanyaan semasa mencari fail WangEr dalam kod.
Objek Model mempunyai kaedah Model(doc), yang digunakan untuk membina dokumen. Apabila mencipta dokumen Lisi, kaedah save() bagi objek Dokumen ini boleh menyimpan dokumen ke pangkalan data.
Operasi asas melalui mongoose:
1. Ditambah
var obj = new Movie(); obj.title = '标题一'; obj.content = '内容'; obj.save(function(err) { });
2. Padamkan
Movie.remove({ _id:id },function (err) { })
3. Tukar
Movie.update({ _id:id },json,{},function (err) { })
4. Semak
Movie.findOne({ _id: id }, function(err, obj) { }); Movie.find({}).sort({_id: -1}).limit(3).exec(function(err, obj) { })