MongoDB 查询 returns Openshift 迁移后结果为空

MongoDB query returns empty result after Openshift migration

我遇到以下问题:我的应用程序 运行 在本地主机上正确,但在我的 Openshift 平台上不正确。

我有一个 MongoDB 数据库,NodeJS 后端使用 socket.io。

这是 URL 连接到我的数据库:

var connection_string = '127.0.0.1:27017/db';

if (process.env.OPENSHIFT_MONGODB_DB_PASSWORD) {
   connection_string = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" +
   process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" +
   process.env.OPENSHIFT_MONGODB_DB_HOST + ':' +
   process.env.OPENSHIFT_MONGODB_DB_PORT + '/' +
   process.env.OPENSHIFT_APP_NAME;
}

这是我连接到数据库的方式: mongodb.MongoClient.connect("mongodb://" + connection_string, function(err, db) {

这是我的套接字的连接方式(Openshift 案例): var socket = io.connect("http://nodejs-myapp.rhcloud.com:8000"); //io(); for localhost case

这是我正在做的查询:

db.collection('tobaccoStores').ensureIndex({Coordinates:"2dsphere"}).then(function(result) {
    db.collection('tobaccoStores').find({
                "Coordinates": {$near:
                                {$geometry:
                                    {type:"Point", coordinates:[coords.coords.lng, coords.coords.lat]},
                                  $maxDistance: coords.maxdistance
                                }
                }
            })

因此,当 运行 在本地主机上查询时,我的查询 return 得到了正确的结果,但在我的 Openshift 应用程序上却没有。此外,当我 运行 在我的 Openshift 应用程序 mongo shell 中查询时,正确的结果也是 returned...

发现问题:我从我的 nodejs 应用程序连接到一个数据库,该数据库与您在 Openshift 服务器上 运行 mongo 时默认连接的数据库不同。我的数据不在正确的数据库中...没有注意这个细节。