今天我首先安装了MongoDB 3.2.5.但当我启动它并使用MongoDB shell时,它给了我以下警告:

C:\Windows\system32>mongo
MongoDB shell version: 3.2.5
connecting to: test
Server has startup warnings:
2016-04-16T11:06:17.943+0800 I CONTROL  [initandlisten]
2016-04-16T11:06:17.943+0800 I CONTROL  [initandlisten] ** WARNING: Insecure configuration, access control is not enabled and no --bind_ip has been specified.
2016-04-16T11:06:17.943+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted,
2016-04-16T11:06:17.943+0800 I CONTROL  [initandlisten] **          and the server listens on all available network interfaces.
2016-04-16T11:06:17.943+0800 I CONTROL  [initandlisten]
>

我的操作系统是微软Windows[version 10.0.10586].

推荐答案

您还没有在Mongodb中配置授权和身份验证等安全功能.使用这link了解更多细节.如果你想学习Mongodb,可以忽略这一点.但当产品达到生产水平时.你应该关心他们.

例如,你可以跑mongod --auth --port 27017 --dbpath /data/db1.之后,你可以用用户名和密码保护你的数据库.

您可以使用以下命令在数据库中添加用户.

use admin
db.auth("myUserAdmin", "abc123" )

之后,您可以使用mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"连接到数据库.

你可以在mongod中添加bind_ip.确认如下:,

`bind_ip = 127.0.0.1,192.168.161.100` 

如果需要,你可以定义很多.这个绑定ip选项告诉MongoDB接受来自哪个本地网络接口的连接,而不是哪个"远程ip地址".

Mongodb相关问答推荐

防止查找简单字段

在MongoDB查询中添加来自另一个集合的匹配文档的计数

将消息流式传输到WebSocket

如何将空值单独分组?

如何在 mongodb 查找的外键中使用正则表达式

MongoDB 聚合 $match 阶段与条件查询

没有mongoose 的 Express 和 MongoDB

Nestjs中不同语言数据的mongodb聚合代码

MongoID find 或 find_by

无法使用机器 ip 连接到 mongodb

为什么mongodb的文档中存储键名

oplog 在独立 mongod 上启用,不适用于副本集

MongoDB .NET 未在 upsert 上生成 _id

mongodump 是否锁定数据库?

具有简单密码认证的 MongoDB 副本集

MongoDB如何判断是否存在

Mongodb - 如何在多个字段中查找字符串?

MongoDB聚合框架的索引优化

mongoose — 判断 ObjectId 是否存在于数组中

对象不是 JSON 可序列化的