Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 找不到MongoDB数据/db_Node.js_Mongodb - Fatal编程技术网

Node.js 找不到MongoDB数据/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

我确实为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
在终端中初始化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:只读文件系统