标签: mlab

使用MongoLab在OpenShift上扩展MongoDB

来自"传统"的开发背景,每当我看到PaaS NoSQL产品时,我都会感到畏缩.远离您的应用程序托管数据的想法根本感觉不对.但像MongoLab这样的PaaS提供商在这里并且看起来非常成功..所以我想,它必须工作......我应该考虑一下.

我正在使用NodeJS和MongoDB构建一个应用程序,并将在OpenShift上托管它.理想情况下,我有Web服务器和Mongo集群设置,我可以轻松地水平扩展它们...所有托管在OpenShift上.

在OpenShift上托管/扩展Mongo是否有意义?我应该使用像MongoLabs这样的PaaS吗?

更新:我在询问架构原因,为什么选择在PaaS类型的产品中托管数据,而不是在OpenShift等服务中托管数据.我在这里列出的具体服务是无关紧要的,因为它可以应用于其他托管服务,NoSQL数据库或PaaS提供商.

mongodb node.js mlab openshift

4
推荐指数
1
解决办法
1049
查看次数

如何为部署到Heroku的节点+ mongo应用程序播种数据?

我有一个MongoDB的节点表达应用程序作为数据库.我想有一个seed.js文件,我可以运行它来填充数据库的初始数据.我在当地的机器上做这个没问题.我只是在我的seed.js文件中编写mongo命令并运行它:

$ mongo localhost:27017/myApp seed.js
Run Code Online (Sandbox Code Playgroud)

但是,当我将我的应用程序部署到Heroku(包括MongoLab)时,我不确定如何在那里播种数据.谷歌大部分时间都把我引向铁轨.

那么有没有一种简单的方法为Heroku MongoLab播种数据而无需编写脚本?

更新:如果我尝试使用heroku的MONGOLAB_URI运行它,我会收到错误.

$ mongo mongodb://heroku_xxxx:xxxxx.mongolab.com:xxx/heroku_xxxx seed.js 

MongoDB shell version: 3.0.5
connecting to: mongodb://heroku_xxxxxxxx
2015-08-19T21:44:22.694+0100 E QUERY    Error: More than one ':' detected. If this is an ipv6 address, it needs to be surrounded by '[' and ']'; heroku_xxxxxxxxxxxxx
    at connect (src/mongo/shell/mongo.js:181:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:181
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

heroku mongodb seeding node.js mlab

4
推荐指数
1
解决办法
4316
查看次数

Robomongo:无法连接到副本集。Set 的主节点无法访问

我正在将 mLab 从 Heroku 迁移到 MongoDB Atlas。作为步骤之一,我想检查是否可以连接到新创建的集群。我将Robo3T(以前称为 Robomongo)用于 Heroku mLab 实例。但它不适用于 Atlas。从 URL 创建连接时出现以下错误:

Cannot connect to replica set "SampleProject"[cluster-abcd12ef-shard-00-00.a0b1c.mongodb.net:27017]. 
Set's primary is unreachable.

Reason:
Failed to initialize MongoWorker. Reason: connect failed
Run Code Online (Sandbox Code Playgroud)

试图调整设置,但那里的一切看起来都正确,就像 Heroku 一样,唯一的主机和端口不同。

还查看了类似的问题GitHub问题,但没有任何帮助。

heroku mongodb mlab mongodb-atlas robo3t

4
推荐指数
3
解决办法
8102
查看次数

无法使用salat从play app连接到MongoDB:命令失败[listDatabases]

我正在尝试开始使用playframework中的salat插件.我已经配置了数据库application.conf并添加了所有依赖项Build.scala并将salat添加到play.plugins文件中.我还没有在项目中添加任何代码,我只是按照github页面上的说明操作,然后尝试运行该项目.我收到以下错误消息

(Server started, use Ctrl+D to stop and go back to the console...)

[info] play - mongodb [default] connected at heroku_app4620908@ds031907.mongolab.com:31907/heroku_app4620908
[error] application - 

! @6bchnaacn - Internal server error, for request [GET /] ->

play.api.Configuration$$anon$1: Configuration error [couldn't connect to [ds031907.mongolab.com/107.21.153.211:31907]]
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:71) ~[play_2.9.1-2.0.3.jar:2.0.3]
    at play.api.Configuration.reportError(Configuration.scala:258) ~[play_2.9.1-2.0.3.jar:2.0.3]
    at se.radley.plugin.salat.SalatPlugin$$anonfun$onStart$1.apply(SalatPlugin.scala:105) ~[play-plugins-salat_2.9.1-1.0.8.jar:1.0.8]
    at se.radley.plugin.salat.SalatPlugin$$anonfun$onStart$1.apply(SalatPlugin.scala:98) ~[play-plugins-salat_2.9.1-1.0.8.jar:1.0.8]
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) ~[scala-library.jar:0.11.3]
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) ~[scala-library.jar:0.11.3]
Caused by: com.mongodb.CommandResult$CommandFailure: command failed [listDatabases]: { "serverUsed" : "db-uri" , "errmsg" : "need …

mongodb salat mlab playframework-2.0

3
推荐指数
1
解决办法
2195
查看次数

响应时间非常慢(~1000ms).Heroku的.node.js中 mongolab.什么也没做

使用Heroku上的免费帐户和MongoLab上的免费帐户(不使用Heroku插件),每个请求的响应时间大约为1000毫秒(单个用户,它只是我,仍然与所有请求相关,不仅仅是第一个请求很长的空闲时间).我已经从我自己的计算机+同样的免费MongoLab帐户进行了检查,我得到了相同类型的请求~168ms.虽然它仍然很高,但我想问一下Heroku.即使使用免费帐户,如此糟糕的响应时间也是合理的.付款时,响应时间会明显好转吗?

Mongoose,MongoDB(node.js)本机驱动程序.

你有什么想法我要检查什么?

heroku node.js mlab

3
推荐指数
1
解决办法
1939
查看次数

如何使用AngularJS和Restangular返回/编辑REST资源

对AngularJS 使用Restangular,继续从Mongolab获取对象对象.

我确定它与Promise有关,但不确定如何使用/实现这些来自旧的Java OO体验.

(旁注,就像Eloquent Javascript,一些书或资源有助于我理解'新'Javascript风格?)

小型网络应用程序适用于残疾学生,用于输入/编辑学生,更新他们放学后的时间,然后每周为他们的父母/看护人输出报告.

这是在弹出新表单时返回undefined的代码(AngularJS Boostrap UI模式)

我个人认为Restangular和文档是一个很好的补充,所以希望它不会劝阻别人 - 这只是我不太了解.

提前致谢

app.js ...

$scope.editStudent = function(id) {
    $scope.myStudent = Restangular.one("students", id);
    console.log($scope.myStudent);
}
Run Code Online (Sandbox Code Playgroud)

mlab angularjs restangular

3
推荐指数
1
解决办法
9474
查看次数

我应该使用哪个MongoLab连接字符串?

我将使用MongoLab将一个网站部署到Azure,但我有点困惑.

当我登录到MongoLab站点时,我得到一个Uri,但在Azure站点中,如果我点击连接字符串,我会得到另一个.Azure一个很长,没有空间放置用户和密码.

当我在主管理站点中选择它并点击Connection Info下面的按钮时,我得到Azure连接字符串.我在MongoLab网站上看到的另一个.

此外,我从Azure门户中制作了MongoLab数据库.

我在Azure中看到的连接字符串是这样的

mongodb://AzureAppServiceName:M.qKtufxLrRxv.1SwDBKelfkchdjCe08Cmv79lvTD2I-@ds035747.mongolab.com:port/DBName

而MongoLab网站中的那个是这样的:

mongodb://<dbuser>:<dbpassword>@ds035747.mongolab.com:port/DBName

我应该使用哪一个?

我想知道一个是在没有端口限制的情况下直接连接到MongoLab,例如开发,另一个是在部署站点时由于Azure基础结构中的内部网络限制而连接.

这种理解是否正确?

azure mongodb mlab

3
推荐指数
1
解决办法
552
查看次数

无法与Mlab数据库连接,但我可以使用mgo golang连接到我的本地mongo

我试图在我的Golang应用程序中连接到mlab mongo数据库,但我总是'auth failed'.

如果我使用我的本地mongo,我没有问题(我的本地没有身份验证)

编辑:我确实在mLab中创建了一个数据库用户,我可以在RoboMongo中使用该用户登录

我的数据库包如下所示:

package database

import (
    "os"
    "fmt"
    "sync"
    "labix.org/v2/mgo"
    "time"
)

type DB struct {
    Database    *mgo.Database
}


const (
  MongoDBHosts = "mlabHost:mlabPort"
  AuthDatabase = "mydatabase"
  AuthUserName = "mlabUser"
  AuthPassword = "mlabPassword"
)

var _init_ctx sync.Once
var _instance *DB

func New() *mgo.Database {
    _init_ctx.Do(func() {
        _instance = new(DB)

        mongoDBDialInfo := &mgo.DialInfo{
            Addrs:    []string{MongoDBHosts},
            Timeout:  600 * time.Second,
            Database: AuthDatabase,
            Username: AuthUserName,
            Password: AuthPassword,
        }

        // Create a session which maintains a pool of socket …
Run Code Online (Sandbox Code Playgroud)

go mongodb mlab mgo

3
推荐指数
1
解决办法
1278
查看次数

如何在mongodb中减去两个日期时间

我已经使用了聚合函数。

db.checkins.aggregate([
       {$match: {checkinType: "Beacon",
               "associationIds.organizationId":"af39bc69-1938-4149",
               "checkinData.time": {"$gte": new Date("2018-01-18T18:30:00.000Z"), 
                                   "$lt": new Date("2018-01-19T18:30:00.000Z")}
                }
        },
       {"$sort":{"checkinData.time":-1}},
       {$group: {"_id":
                    {"orgId":"$asst.organizationId", "userId":"$asst.userId"},
                    "lastSeen":{"$first":"$checkinData.time"},
                   "firstSeen":{"$last":"$checkinData.time"},
               }
       }, 
      {"$project":{"_id":1,"lastSeen":1, "firstSeen":1, 
                  totalHourSpent:{$subtract: ["$lastSeen","$firstSeen"]}}}, 
  ])
Run Code Online (Sandbox Code Playgroud)

当我执行此查询mongo时,以毫秒为单位返回totalHourSpent,如下所示。

{
  "_id" : {
        "orgId" : "af39bc69-1938-4149-b9f7-f101fd9baf73",
        "userId" : "34adb4a0-0012-11e7-bf32-cf79d6b423e9"
  },
 "lastSeen" : ISODate("2018-01-19T18:49:52.242+05:30"),
 "firstSeen" : ISODate("2018-01-19T10:08:21.026+05:30"),
 "totalHourSpent" : NumberLong("31291216")
},
{
  "_id" : {
       "orgId" : "af39bc69-1938-4149-b9f7-f101fd9baf73",
       "userId" : "679416b0-3f88-11e7-8d27-77235eb1ba9b"
   },
   "lastSeen" : ISODate("2018-01-19T20:51:30.946+05:30"),
   "firstSeen" : ISODate("2018-01-19T11:07:44.256+05:30"),
   "totalHourSpent" : NumberLong("35026690")
 },
Run Code Online (Sandbox Code Playgroud)

如何以小时为单位计算totalHourSpent。提前致谢。

aggregate mongodb node.js mlab

3
推荐指数
1
解决办法
5885
查看次数

如何将Mlab在线数据库导出到文件

我已经获得了托管在mlab上的数据库。我正在尝试将文件从数据库下载到我的计算机上。我该怎么办?我应该补充一点,我以前从未使用过mlab或MongoDB。我要做的就是下载某种格式的文件(例如JSON或CSV),然后使用我拥有的python脚本进行处理

我看到mongoexport命令可能会解决问题,但我不知道如何使用它。我应该在cmd上运行吗?在我的计算机上,该命令未被识别为命令,我需要下载什么来解决该问题?

我看到的另一件事是pymongo。如果有人知道一般如何使用pymongo或python导出数据,我希望听到它。

mongodb mlab mongoexport

3
推荐指数
1
解决办法
4158
查看次数