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

Menggunakan Beberapa Basis Data Mongodb dengan Meteor.js

Pembaruan

Sekarang dimungkinkan untuk terhubung ke basis data jarak jauh/banyak:

var database = new MongoInternals.RemoteCollectionDriver("<mongo url>");
MyCollection = new Mongo.Collection("collection_name", { _driver: database });

Dimana <mongo_url> adalah url mongodb seperti mongodb://127.0.0.1:27017/meteor (dengan nama database)

Ada satu kelemahan dengan ini saat ini:Tidak Ada Oplog

Jawaban Lama

Pada saat ini tidak mungkin. Setiap aplikasi meteor terikat pada satu database.

Ada beberapa cara untuk menyiasatinya, tetapi mungkin lebih rumit daripada nilainya:

Satu opsi - Gunakan Aplikasi Meteor terpisah

Di aplikasi meteor Anda yang lain (contoh berjalan di port 6000 pada mesin yang sama). Anda masih dapat memiliki reaktivitas tetapi Anda perlu menyisipkan, menghapus, dan memperbarui proxy melalui pemanggilan metode

Server:

Cats = Meteor.Collection('cats')

Meteor.publish("cats", function() {
    return Cats.find();
});

Meteor.methods('updateCat, function(id, changes) {
    Cats.update({_id: id}, {$set:changes});
});

Aplikasi Meteor Anda saat ini:

var connection = DDP.connect("http://localhost:6000");

connection.subscribe("cats");
Cats = Meteor.Collection('cats', {connection: connection});

//To update a collection
Cats.call("updateCat", <cat_id>, <changes);

Opsi lain - koneksi mongodb khusus

Ini menggunakan driver asli node js mongodb.

Ini menghubungkan ke database seperti yang Anda lakukan di aplikasi node js lainnya.

Tidak ada tidak reaktivitas tersedia dan Anda tidak dapat menggunakan new Meteor.Collection ketik koleksi.

var mongodb = Npm.require("mongodb"); //or var mongodb = Meteor.require("mongodb") //if you use npm package on atmosphere

var db = mongodb.Db;
var mongoclient = mongodb.MongoClient;
var Server = mongodb.Server;

var db_connection = new Db('cats', new Server("127.0.0.1", 27017, {auto_reconnect: false, poolSize: 4}), {w:0, native_parser: false});

db.open(function(err, db) {
    //Connected to db 'cats'

    db.authenticate('<db username>', '<db password>', function(err, result) {
      //Can do queries here
      db.close();
   });
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengabaikan nol saat membongkar dokumen MongoDB?

  2. Fitur MongoDB di ClusterControl 1.4

  3. Tidak dapat terhubung ke MongoDB karena URI yang salah

  4. Mongo DB Java 3.x Driver - Kelompokkan Berdasarkan Kueri

  5. Apa artinya menyesuaikan set kerja ke dalam RAM untuk MongoDB?