Rumah > hujung hadapan web > tutorial js > Tutorial asas tentang memasang dan menggunakan Mongoose dengan Node.js untuk mengendalikan MongoDB_node.js

Tutorial asas tentang memasang dan menggunakan Mongoose dengan Node.js untuk mengendalikan MongoDB_node.js

WBOY
Lepaskan: 2016-05-16 15:12:46
asal
1642 orang telah melayarinya

Pasang mongoose

Gunakan ekspres untuk menyediakan projek TestMongoDB Urutan arahan adalah seperti berikut:

express TestMongoDB
cd TestMongoDB
npm install
Salin selepas log masuk

Selepas melaksanakan arahan di atas, gunakan arahan berikut untuk memasang mongoose:

npm install mongoose --save
Salin selepas log masuk

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');
 }); 
});

Salin selepas log masuk

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])
Salin selepas log masuk

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) {
  
});
Salin selepas log masuk

2. Padamkan

Movie.remove({
  _id:id
},function (err) {
  
})
Salin selepas log masuk


3. Tukar

Movie.update({
  _id:id
},json,{},function (err) {
  
})
Salin selepas log masuk


4. Semak

Movie.findOne({
  _id: id
}, function(err, obj) {
 
});
Movie.find({}).sort({_id: -1}).limit(3).exec(function(err, obj) {
 
})
Salin selepas log masuk

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan