meteor从第二个mongo数据库中获取数据

时间:2014-12-04 23:52:35

标签: node.js mongodb meteor

iam在meteor上全新,我尝试构建一个应该显示另一个Mongo数据库的数据的Meteor应用程序。它自己的应用程序可以使用自己的metor数据库。所以我发现,用MongoInternals.RemoteCollectionDriver()来连接我的第二个数据库。

下一步是让它在流星教程中运行。但我不会从第二个数据库中获取任何数据。对于测试,从我的函数返回正确的简单数组并放入webapp。 .find()中的表达式也应该没问题。我在Mongo控制台中测试了它。

如果与第二个数据库的连接位于if (Meteor.isClient)或客户端/服务器部分之外,则错误" ReferenceError:MongoInternals未定义"出现。如果它在if (Meteor.isServer)内的设置有时会在控制台中出现异常:

  

模板助手中的异常:。ris_sessions@http://localhost:3000   /risdd_mongo.js?4fc7111851b4ed2182782e0a368b366cc4e89745:15:17   bindDataContext /< @ http://localhost:3000 /包   /blaze.js?77c0809654ee3a10dcd5a4f961fb1437e7957d33:2693:14
  ......还有更多的消息

我无法看到,为什么不从第二个数据库中获取任何数据。

以下是来源:



Tasks = new Mongo.Collection("tasks");

//////////////////////
if (Meteor.isClient) {

    Template.body.helpers({
        tasks: function() {
          return Tasks.find({}, {sort: {createdAt: -1 }});
        }
        ,
        s_sessions: function() {
          return ris_sess.find( {},{description:1} ).fetch();
         
        }
    });
}


//////////////////////
if (Meteor.isServer) {
    Meteor.startup(function () {
    // code to run on server at startup

    var risdb_drv = new MongoInternals.RemoteCollectionDriver("mongodb://172.0.0.1:27017/ris");
    var ris_sess = new Mongo.Collection("sessions", { _driver: risdb_drv });


    });
}

<head>
    <title>foo</title>
</head>

<body>
    <div class="container">
        <header>
            <h1>todo list</h1>
            <!-- add a FORM !-->
            <form class="new-task">
                <input type="text" name="text" placeholder="ad your task here" />
            </form>
        </header>

        <ul>
                {{#each tasks}}
                    {{>task}}
                {{/each}}
                
                {{#each ris_sessions}}
                    {{>ris_session}}
                {{/each}}
        </ul>
    </div>
    
</body>

<template name="task">
    <li>{{text}}</li>
</template>


<template name="ris_session">
    <li>{{description}}</li>
</template>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

如果您使用本地MongoDB服务器,请尝试更改

mongodb://172.0.0.1:27017/ris

mongodb://127.0.0.1:27017/ris

IP中的错字:127