通过查询应用程序创建的集合在另一个流星JS应用

问题描述 投票:0回答:1

我有2个应用程序,查询同一个数据库,它们都创建了一个数据库DIFF集合。而在myapp:3000应用乙在其在相同的分贝(comments)端创建myapp:3300courses应用程式A创建的集合school。两个服务器都在运行,我该如何查询通过一个应用程序在app B创建在一个集合?

我的问这个问题的原因是,作为一个新手,很容易让我用它全局变量来查询在一个应用程序中创建新的集合。比方说,我创建

UsesList = new Mongo.Collection('useslist');

它可以让我以这种方式发布:

Meteor.publish('UsesList', function () {
        if (!this.userId) {
            return false;
            throw new Meteor.Error('Not authorized');
        } else {
            return UsesList.find();
        }
    });

我不会有机会获得这个变量,我想直接访问数据库来查询的集合可能是不道德的。

javascript mongodb meteor collections document
1个回答
1
投票

在“创建”,在两个不同的应用程序相同的集合没问题。

收集身份是由您提供的集合构造函数名称的字符串,和数据库本身的身份当然确定。

你可以将它们分配到任何你想要的变量标识符,并且它们可能是应用程序之间的不同。

我会,不过,建议您开始使用ES6模块和减少全局命名空间的污染。开始使用最佳实践当你学习,所以你不会有后来忘掉坏的。

所以,只要这两个应用都连接到同一个数据库:

// same in app 1 and app 2
import { Mongo } from 'meteor/mongo';
export const UsesList = new Mongo.Collection('user_list');

// and importing it
import { UserList } from '../path/to/other/file';
© www.soinside.com 2019 - 2024. All rights reserved.