Node.js 找不到MongoDB数据/db
我确实为data/db提供了这个路径Node.js 找不到MongoDB数据/db,node.js,mongodb,Node.js,Mongodb,我确实为data/db提供了这个路径 /usr/local/Cellar/mongodb/3.2.6/data/db 执行以下步骤是为了创建绑定到mongodb文件夹 sudo mongod --directoryperdb --dbpath /usr/local/Cellar/mongodb/3.2.6/data/db --logpath /usr/local/Cellar/mongodb/3.2.6/log/mongodb.log --logappend -rest 在终端中初始化sud
/usr/local/Cellar/mongodb/3.2.6/data/db
执行以下步骤是为了创建绑定到mongodb文件夹
sudo mongod --directoryperdb --dbpath /usr/local/Cellar/mongodb/3.2.6/data/db --logpath /usr/local/Cellar/mongodb/3.2.6/log/mongodb.log --logappend -rest
在终端中初始化sudo mongod时,出现以下错误:
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] MongoDB starting : pid=8107 port=27017 dbpath=/data/db 64-bit host=iMac-Krystyna-2.local
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] db version v3.2.6
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2h 3 May 2016
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] allocator: system
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] modules: none
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] build environment:
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] distarch: x86_64
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] target_arch: x86_64
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] options: {}
2016-06-08T14:45:06.970+0200 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
2016-06-08T14:45:06.970+0200 I CONTROL [initandlisten] dbexit: rc: 100
为了正确使用MongoDB,您能否解释一下错误所在,并展示一些常见做法?
MongoDB
尝试在系统的根目录下查找data/db文件夹。尝试在/data/db下创建文件夹。您需要将此目录创建为根目录
您需要使用sudo,例如sudo mkdir-p/data/db
或者您需要执行su-以成为超级用户,然后使用
mkdir-p/data/db
创建目录,您也可以使用此命令sudo mongod--dbpath=/var/lib/mongodb
。
打开另一个终端并运行您的mongod。它对我有效。
尝试:
sudo服务mongod start
在我的例子中,一个错误的conf文件导致Mongo使用默认设置(即使用/data/db
作为存储路径。因为/data/db
不存在,它会抱怨
不正确配置的可能来源包括:
(1) 不带引号的字符串。例如storage.dbPath应该是“some/path”
(2) bindIp不正确。似乎不支持IP数组
所以我的解决办法就是在这些地方使用带引号的字符串:
存储:
dbPath:“/some/path”
净:
bindIp:“127.0.0.1”
注意:我的
“/some/path”
拥有drwxr-xr-x(755)权限,属于mongodb/mongodb。它可以正常工作。我也有同样的问题。这对我来说很有效:
sudo mongod--dbpath~/data/db
在Mac OS Big-Sur上,命令sudo mkdir-p/data/db产生错误:
mkdir:/data/db:只读文件系统
。