作为尝试解决 Hibernate OGM 连接问题的一部分,我想看看我是否从 Robo 3T 连接。
我构建了我的 MongoDB 映像并开始运行。
码头工人:
MacBook-Pro:GoStopHandle NOTiFY$ docker ps 容器 ID 图像
命令创建状态端口名称 0375a68b9988 gostophandlemongodb:latest
" docker -entrypoint.s..." 5 秒前向上 4 秒
0.0.0.0:327cpStop17-MongoHandle
容器的IP地址是:
码头检查 -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 0375a68b9988 172.17.0.2
我已经进入了“mongo”外壳:
docker exec -it goStopHandleMongo mongo admin
我添加一个用户和密码:
> db.createUser(
... {
... user: "NOTiFY",
... pwd: "MyPassword",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
Successfully added user: {
"user" : "NOTiFY",
"roles" : [
{ …Run Code Online (Sandbox Code Playgroud) 所以我在使用 Robo 3T 的 mongodb 4.2.1 上遇到了这个问题。我想通过将一个字段移动到另一个对象中来更新特定文档。
update()像这样使用效果很好。
db.getCollection('myCollections').update(
{
randomId: ObjectId("......."),
},
[
{ $set: { "myObject.myField": "$myField" } },
{ $unset: [ "myField" ] }
])
Run Code Online (Sandbox Code Playgroud)
但是当我想像这样更新我的所有文档时updateMany()。
db.getCollection('myCollections').updateMany(
{
randomId: ObjectId("......."),
},
[
{ $set: { "myObject.myField": "$myField" } },
{ $unset: [ "myField" ] }
])
Run Code Online (Sandbox Code Playgroud)
我有一个错误
Failed to execute script.
Error: the update operation document must contain atomic operators
Details:
DBCollection.prototype.updateMany@src/mongo/shell/crud_api.js:625:1
@(shell):1:1
Run Code Online (Sandbox Code Playgroud)
我没有尝试使用 shell,但我想它会告诉我同样的事情。
之前的文档示例
{
_id: ...,
randomId: ObjectId(...),
myField: 0.5 …Run Code Online (Sandbox Code Playgroud) Robo 3T通过避免仅复制粘贴每个连接详细信息,是否有更好的方法来共享连接设置?
我在菜单中没有找到任何东西Robo 3T。
我在服务器(Ubuntu14.04)中安装了MongoDB 3.0.1.我需要为MongoDB启用远程身份验证,以便注册用户只能看到它.一旦安装了Mongo,我就运行了这些命令:
> use admin
switched to db products
> db.createUser({user: "userAdmin", pwd: "admin1234", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
Run Code Online (Sandbox Code Playgroud)
这是我的/etc/mongod.conf":
dbpath = /var/lib/mongodb
logpath = /var/log/mongodb/mongod.log
logappend = true
port = 27017
bind_ip = 127.0.0.1,SERVER_IP
auth = true
Run Code Online (Sandbox Code Playgroud)
如果我尝试连接RoboMongo,我收到此消息
YES - Connected to SERVER_IP
NO - Authorization failed
Run Code Online (Sandbox Code Playgroud)
如果我尝试从我的浏览器访问它(http:// SERVER_IP:3000 /产品),我会收到以下消息:
null
Run Code Online (Sandbox Code Playgroud)
如果我从浏览器更改配置文件"auth = false",我可以看到这个(这是正确的)
[]
Run Code Online (Sandbox Code Playgroud)
但我无法登录,有人可以帮助我吗?
当我在robomongo中运行此命令时,我得到一个包含不同行的输出:
db.getCollection('houses').find({})
Run Code Online (Sandbox Code Playgroud)
现在我尝试在mongo shell中运行相同的命令:
我写了一个脚本mongo.js:
conn = new Mongo();
db = conn.getDB("development");
db.getCollection('houses').find({});
Run Code Online (Sandbox Code Playgroud)
打开控制台:
mongo --shell
Run Code Online (Sandbox Code Playgroud)
并尝试运行命令:
> load('mongo.js')
true
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我只得到true输出.我想看看查询输出!我错了什么?谢谢
我正在尝试访问我在amazonaws上的VM上运行的mongodb数据库.我想通过robomongo连接.得到无法连接.
我检查过mongoDB正在侦听27017并在/etc/mongodb.conf中的mongodb.conf中将bind_ip = 0.0.0.0评论为#bind_ip = 0.0.0.0
我正在运行我从docker hub mongo image中提取的mongo docker图像
它工作正常,但是当我启动Robomongo时,我无法连接到localhost.有以下错误消息:
无法在localhost:27017连接到MongoDB.
错误:网络无法访问
我感谢任何帮助,谢谢.
编辑:我使用以下命令解决了这个问题:
docker run -p 27017:27017 --name mongo_instance_001 -d mongo
我有一段时间一直是mongochef用户,与mongochef建立URI连接非常容易.然而,robomongo并非如此.
当MLAB使用字符串URI将用户连接到他们的数据库时,有人会如何将他们的MLAB mongodb数据库连接到robobongo?
在robomongo的配置设置中,看起来它有利于ip地址和端口作为连接方法,并且不提供URI格式
我已经创建了mongo dump一个远程服务器以及存储在文件夹中的.bson和.metadata文件.
我想把import这个文件夹放到我的本地mongodb.我用的robomongo是mongodb client ui.
我得到了一些逐个导入json文件的命令,但我想import通过robomongo或cmd一次获取所有文件.