MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

pembuatan skema luwak

Seseorang mendefinisikan Schema sehingga aplikasi memahami cara memetakan data dari MongoDB ke objek JavaScript. Schema merupakan bagian dari aplikasi. Itu tidak ada hubungannya dengan basis data. Itu hanya memetakan database ke objek JavaScript. Jadi ya - jika Anda ingin memiliki pemetaan yang bagus, Anda perlu menjalankan kode ini di setiap aplikasi yang membutuhkannya. Ini juga berlaku untuk getter/setter/validations/etc.

Namun perhatikan bahwa melakukan ini:

var mongoose = require('mongoose');
var Schema = mongoose.Schema; // <-- EDIT: missing in the original post
var Comments = new Schema({
    title     : String
  , body      : String
  , date      : Date
});
mongoose.model("Comments", Comments);

akan mendaftarkan Schema secara global Artinya jika aplikasi yang Anda jalankan menggunakan beberapa modul eksterior, maka dalam modul ini Anda cukup menggunakan

var mongoose = require('mongoose');
var Comments = mongoose.model("Comments");
Comments.find(function(err, comments) {
    // some code here
});

(perhatikan bahwa Anda benar-benar perlu mendaftarkan Schema sebelum menggunakan kode ini, jika tidak pengecualian akan dilempar).

Namun semua ini hanya berfungsi di dalam satu sesi simpul, jadi jika Anda menjalankan aplikasi simpul lain yang memerlukan akses ke Schema , maka Anda perlu memanggil kode registrasi. Jadi ada baiknya untuk mendefinisikan semua Skema dalam file terpisah, misalnya comments.js mungkin terlihat seperti ini

var mongoose = require('mongoose');
var Schema = mongoose.Schema; // <-- EDIT: missing in the original post

module.exports = function() {
    var Comments = new Schema({
        title     : String
      , body      : String
      , date      : Date
    });
    mongoose.model("Comments", Comments);
};

lalu buat file models.js yang mungkin terlihat seperti ini

var models = ['comments.js', 'someothermodel.js', ...];

exports.initialize = function() {
    var l = models.length;
    for (var i = 0; i < l; i++) {
        require(models[i])();
    }
};

Sekarang memanggil require('models.js').initialize(); akan menginisialisasi semua Skema Anda untuk sesi simpul tertentu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meminta mongodb dari golang menggunakan _id yang disimpan dalam array

  2. mongodb cara mendapatkan nilai maksimal dari koleksi

  3. Dapatkan _id dari dokumen yang dimasukkan di MongoDB?

  4. C# - MongoDB - Perbarui elemen di dalam Dokumen Bersarang

  5. String proyek agregasi MongoDB ke ObjectId