MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sử dụng nhiều cơ sở dữ liệu Mongodb với Meteor.js

Cập nhật

Giờ đây, có thể kết nối với cơ sở dữ liệu từ xa / nhiều cơ sở dữ liệu:

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

Ở đâu <mongo_url> là url mongodb chẳng hạn như mongodb://127.0.0.1:27017/meteor (với tên cơ sở dữ liệu)

Có một bất lợi với điều này vào lúc này:Không có Oplog

Câu trả lời cũ

Hiện tại điều này là không thể. Mỗi ứng dụng sao băng được liên kết với một cơ sở dữ liệu.

Có một số cách bạn có thể giải quyết vấn đề này nhưng có thể phức tạp hơn nhưng giá trị của nó:

Một tùy chọn - Sử dụng ứng dụng Meteor riêng biệt

Trong ứng dụng sao băng khác của bạn (ví dụ chạy ở cổng 6000 trên cùng một máy). Bạn vẫn có thể có khả năng phản hồi nhưng bạn cần chèn proxy, xóa và cập nhật thông qua lệnh gọi phương thức

Máy chủ:

Cats = Meteor.Collection('cats')

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

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

Ứng dụng Meteor hiện tại của bạn:

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

Một tùy chọn khác - kết nối mongodb tùy chỉnh

Điều này sử dụng trình điều khiển gốc js mongodb của nút.

Điều này đang kết nối với cơ sở dữ liệu như thể bạn làm trong bất kỳ ứng dụng js nút nào khác.

không khả năng phản ứng có sẵn và bạn không thể sử dụng new Meteor.Collection nhập bộ sưu tập.

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. Sao chép / sao chép cơ sở dữ liệu trong MongoDB

  2. MongoDB $ acosh

  3. Tìm bản ghi mongoDB theo lô (sử dụng bộ điều hợp ruby ​​mongoid)

  4. Cách lấy Ngày, Tháng và Năm từ một Ngày trong SQL

  5. Bản đồ MongoDB ()