sql >> データベース >  >> NoSQL >> MongoDB

Meteor.jsで複数のMongodbデータベースを使用する

    更新

    リモート/複数のデータベースに接続できるようになりました:

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

    <mongo_url>の場所 mongodb://127.0.0.1:27017/meteorなどのmongodbURLです。 (データベース名付き)

    現時点では、これには1つの欠点があります。Oplogがない

    古い答え

    現時点ではこれは不可能です。各流星アプリは1つのデータベースにバインドされています。

    これを回避する方法はいくつかありますが、その価値よりも複雑な場合があります。

    1つのオプション-別のMeteorアプリを使用する

    他のmeteorアプリ(同じマシンのポート6000で実行されている例)。反応性は維持できますが、メソッド呼び出しを介して挿入、削除、更新をプロキシする必要があります

    サーバー:

    Cats = Meteor.Collection('cats')
    
    Meteor.publish("cats", function() {
        return Cats.find();
    });
    
    Meteor.methods('updateCat, function(id, changes) {
        Cats.update({_id: id}, {$set:changes});
    });
    

    現在のMeteorアプリ:

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

    別のオプション-カスタムmongodb接続

    これは、ノードjsmongodbネイティブドライバーを使用します。

    これは、他のノードのjsアプリで行うのと同じようにデータベースに接続しています。

    ありません 反応性が利用可能であり、new Meteor.Collectionを使用することはできません コレクションを入力します。

    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. MongoDB集約パイプラインは、最初の一致ステップ後に遅くなります

    2. Redisでオンラインユーザーを追跡するための2つのアプローチ。どちらが速いですか?

    3. phpMongoCursorからJSONデータを返す方法

    4. mongodbは、フィールド/キーごとの個別の値の数をカウントします