我尝试使用mongolab(仅限rails框架)将我的新rails应用程序部署到heroku
$ rails new myapp --skip-active-record
$ cd myapp
Run Code Online (Sandbox Code Playgroud)
湾 将Gems添加到Gemfile
ruby '2.2.0'
gem 'mongoid', '~> 4', github: 'mongoid/mongoid'
gem 'bson_ext'
group :production do
gem 'rails_12factor'
end
Run Code Online (Sandbox Code Playgroud)
C.捆绑这些宝石并生成mongoid.yml
$ bundle install
$ rails g mongoid:config
Run Code Online (Sandbox Code Playgroud)
d.config mongoid.yml添加/修改生产以使用mongolab
mongoid.yml
production:
sessions:
default:
uri: <%= ENV['MONGOLAB_URI'] %>
Run Code Online (Sandbox Code Playgroud)
即 创建git和heroku应用程序
$ git init
$ git add .
$ git commit -am 'Initial Commit'
$ heroku login
$ heroku apps:create myapp
Run Code Online (Sandbox Code Playgroud)
F.插件蒙古包
$ heroku addons:add mongolab
Run Code Online (Sandbox Code Playgroud)
和mongolab沙箱显示:
蒙古拉沙箱:
To connect using the shell:
mongo …Run Code Online (Sandbox Code Playgroud) 我在mongolab主持了我的mongodb.我在环回中创建了一个ODM并建立了与mongolab的连接.有时连接会建立,但其他时候由于连接错误而导致时间延长.我想增加这个超时,以便它每次都能连接.即使在Strongloop网站上我也找不到任何解决方案.
我甚至尝试在mongolab的连接字符串中添加查询字符串参数:?connectTimeoutMS = 1000000即使这没有帮助.
我一直在 node.js 中使用 mongodb。我已经用一些数据做了一个基本的集合(我知道它在那里我检查过)。当我尝试在集合上运行 find() 时,它返回未定义。我不知道这是为什么。代码如下:
function get_accounts(){
var MongoClient = mongodb.MongoClient;
var url = "url";
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
//HURRAY!! We are connected. :)
console.log('Connection established to database');
var collection = db.collection('accounts');
collection.find().toArray(function(err, docs) {
console.log("Printing docs from Array")
docs.forEach(function(doc) {
console.log("Doc from Array ");
console.dir(doc);
});
});
console.log("mission complete");
}
db.close();
}
);
}
Run Code Online (Sandbox Code Playgroud)
如果你知道为什么会这样,我想听听你的想法。谢谢!如果有任何区别,该数据库是 mongolab 托管的数据库。
我目前正在构建通过 Mongolabs 使用外部 MongoDb 的 Web 应用程序。\nAPI 基于 URL 中使用的个人密钥。正如文档所说,例如:
\nHere\xe2\x80\x99s 是完整资源 URL 的示例:
\nhttps://api.mongolab.com/api/1/databases?apiKey=**2E81PUmPFI84t7UIc_5YdldAp1ruUPKye* *\n所以问题是如何安全地存储这样的api密钥2E81PUmPFI84t7UIc_5YdldAp1ruUPKye
\n阅读有关跨站点请求伪造的 Django 文档,但仍然不明白密钥记录在哪里。
\n当我尝试使用命令连接到MongoLab时,出现以下消息:
mongo ds035438.mongolab.com:35438/comeventsbw -u(myusername)-p(mypassword)
MongoDB Shell版本:3.0.6连接到:ds035438.mongolab.com:35438/comeventsbw 2015-12-10T10:30:18.537-0700我在File :: open(),:: open中存储了'/ Users / benwong / .mongorc.js'失败,出现errno:13权限被拒绝无法执行您主目录中的“ .mongorc.js”文件
如何构造MongooseJS / MongoDB查询以获取特定字段值的重复项/出现项总数?又名:总用文件custID的some value所有custIDs
我可以在命令行中手动执行此操作:
db.tapwiser.find({"custID" : "12345"}, {}, {}).count();
输出:1
db.tapwiser.find({"custID" : "6789"}, {}, {}).count();
输出:4
我找到了这个资源:
但这要求我指定要累加的唯一字段。
在这种情况下,我要遍历所有文档,并对每个文档的出现求和。
我正在尝试使用 mgo 库从 Go 连接到远程 MongoDB 数据库(Mongolab),但出现错误panic: server returned error on SASL authentication step: Authentication failed。这是我的代码
package main
import (
"fmt"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
"log"
)
type Person struct {
Name string
Phone string
}
func main() {
session, err := mgo.Dial("mongodb://<dbusername>:<dbpassword>@ds055855.mlab.com:55855")
if err != nil {
panic(err)
}
defer session.Close()
// Optional. Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)
c := session.DB("catalog").C("History")
err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
&Person{"Cla", "+55 53 8402 8510"})
if err …Run Code Online (Sandbox Code Playgroud) 我使用这个cmd将mongodb恢复到mLab上的远程数据库
$ ./mongorestore -h ds*****.mlab.com:**** -u <user> -p <pass> -d loc8r
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误
2018-05-01T20:22:18.463+0700 using default 'dump' directory
2018-05-01T20:22:18.463+0700 building a list of collections to restore from dump dir
2018-05-01T20:22:18.464+0700 don't know what to do with subdirectory "dump\Loc8r", skipping...
2018-05-01T20:22:18.464+0700 don't know what to do with subdirectory "dump\admin", skipping...
2018-05-01T20:22:18.464+0700 done
Run Code Online (Sandbox Code Playgroud)
我想知道我是否做错了什么?当我使用相同的 cmd 且转储文件夹仅包含 .bson 文件时,没有问题
我在MongoLab云服务器上创建了一个MongoDB帐户,我创建了一个数据库,它现在是空的(没有集合,只有1个用户).
这是Mongolab为连接数据库而给出的命令
mongo dbh13.mongolab.com:27137/myDB -u <username> -p <password>
Run Code Online (Sandbox Code Playgroud)
是这里的用户名mongolab帐户凭据或我在myDB中创建的用户.?我试过了两个,它没有授权.
但如果尝试直接连接到授权(从Windows),它可以使用此命令
mongo dbh13.mongolab.com:27137/myDB
Run Code Online (Sandbox Code Playgroud)
但之后,如果我尝试做类似show dbs/show collections的事情,它会失败并显示以下消息
> show dbs
assert failed : listDatabases failed:{
"assertion" : "unauthorized db:admin lock type:-1 client:38.117.159.162"
,
"assertionCode" : 10057,
"errmsg" : "db assertion failure",
"ok" : 0
}
Fri Aug 12 16:30:50 uncaught exception: assert failed : listDatabases failed:{
"assertion" : "unauthorized db:admin lock type:-1 client:38.117.159.162"
,
"assertionCode" : 10057,
"errmsg" : "db assertion failure",
"ok" : 0
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我需要一个NoSql数据库来写连续的日志数据.约.每秒写100次.并且单个数据包含3列且小于1kb.每天只需阅读一次,然后我就可以删除所有日常数据.但我不能确定哪个是最便宜的解决方案; Google App Engine和Datastore或Heroku和Mongolab?
google-app-engine heroku mongodb mlab google-cloud-datastore
mlab ×10
mongodb ×9
heroku ×2
node.js ×2
ajax ×1
django ×1
go ×1
javascript ×1
loopbackjs ×1
mongoid ×1
mongoose ×1
strongloop ×1
windows ×1