找不到 mongodb collections/data
can't find mongodb collections/data
我正在使用 node/express/mongodb 开发网络应用程序,使用 mongoose。我在我的项目中创建了一个名为 data
的文件夹,并在其中创建了另一个名为 db
的文件夹
- 数据
- db
当我启动 mongo 时,我使用 --dbpath
参数并将其指向我创建的项目 data
文件夹。它连接良好和一切。我一直在向数据库写入一些数据,应用程序正确加载了它,但是当我打开 mongo shell 时找不到数据。
第一件事是,当我打开 shell 时,我得到的唯一数据库是 test
。如果我不指定数据库名称,这是自动创建的吗?如何指定数据库名称?我的 app.js
文件中有以下内容:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/abduldb');
我的猜测是应该创建一个名为 abduldb
的数据库,对吗?我在 mongo shell.
中没有看到这个
此外,当使用 test
数据库时,我 运行 show collections
没有显示任何结果...我的数据到底写在哪里?我现在只有 1 个模型,它看起来像这样:
var mongoose = require('mongoose');
var ItemSchema = new mongoose.Schema({
title: String,
body: String
});
mongoose.model('item', ItemSchema);
我正在使用以下方法在我的路线文件中添加新项目:
router.post('/items', function (req, res, next) {
var item = new Item(req.body);
item.save(function(err, item){
if(err){ return next(err); }
res.json(item);
});
});
当您处于 mongo shell 时,请尝试此命令:"use abduldb".
您看不到 collections 的原因是您自动连接到测试数据库。如果你想改变它,运行 当你开始 mongo shell:
mongo abduldb
或者,您可以通过 adding/changing 这一行更改 .mongorc.js 文件中的默认数据库:
db = db.getSiblingDB("abduldb")
.mongorc.js 文件可以在 /etc/mongorc.js 找到,但如果它存在于您的主目录中(即 /home/abduldb/.mongorc.js),则会被覆盖.
我正在使用 node/express/mongodb 开发网络应用程序,使用 mongoose。我在我的项目中创建了一个名为 data
的文件夹,并在其中创建了另一个名为 db
- 数据
- db
当我启动 mongo 时,我使用 --dbpath
参数并将其指向我创建的项目 data
文件夹。它连接良好和一切。我一直在向数据库写入一些数据,应用程序正确加载了它,但是当我打开 mongo shell 时找不到数据。
第一件事是,当我打开 shell 时,我得到的唯一数据库是 test
。如果我不指定数据库名称,这是自动创建的吗?如何指定数据库名称?我的 app.js
文件中有以下内容:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/abduldb');
我的猜测是应该创建一个名为 abduldb
的数据库,对吗?我在 mongo shell.
此外,当使用 test
数据库时,我 运行 show collections
没有显示任何结果...我的数据到底写在哪里?我现在只有 1 个模型,它看起来像这样:
var mongoose = require('mongoose');
var ItemSchema = new mongoose.Schema({
title: String,
body: String
});
mongoose.model('item', ItemSchema);
我正在使用以下方法在我的路线文件中添加新项目:
router.post('/items', function (req, res, next) {
var item = new Item(req.body);
item.save(function(err, item){
if(err){ return next(err); }
res.json(item);
});
});
当您处于 mongo shell 时,请尝试此命令:"use abduldb".
您看不到 collections 的原因是您自动连接到测试数据库。如果你想改变它,运行 当你开始 mongo shell:
mongo abduldb
或者,您可以通过 adding/changing 这一行更改 .mongorc.js 文件中的默认数据库:
db = db.getSiblingDB("abduldb")
.mongorc.js 文件可以在 /etc/mongorc.js 找到,但如果它存在于您的主目录中(即 /home/abduldb/.mongorc.js),则会被覆盖.