我不明白为什么我的mongo db在运行时没有显示出来"显示数据库"在命令行中。我看到我过去创建的其他mongo db,但不是现在的。这是我的代码:(使用mongoose ORM):
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/fuelTracker');
var Schema = mongoose.Schema;
var fuelSchema = new Schema({
time : { type : Date, default: Date.now },
miles : Number,
gallons: Number
});
var FuelStop = mongoose.model('FuelStop', fuelSchema);
module.exports = FuelStop;
我试图进行基本的模型操作:
app.post('/', function (req, res ) {
results = req.body;
var fuelStop = new FuelStop (results)
fuelStop.save(function() {
console.log('record saved to monogoDB');
});
})
任何有关我的' fuelTracker'当我运行“显示数据库”时,数据库不会出现在命令行中。在mongo内?
谢谢!!
答案 0 :(得分:0)
show dbs
吗? show databases
打印所有可用数据库,请参阅此处的文档:https://docs.mongodb.com/manual/reference/mongo-shell/
答案 1 :(得分:0)
在将数据插入数据库中的集合之前,不会创建数据库。
我通过创建和运行脚本来测试您的代码,以使用示例JSON数据为fuelTracker数据库播种。然后我跑了show databases
并且能够看到fuelTracker列出。
如果您想在新文件seed.js
中尝试此操作:
const db = require('./fileName.js');
const fs = require('fs');
let fuelData = fs.readFileSync('./data.json', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
let jsonFuel = JSON.parse(fuelData);
db.remove({}, () => {
console.log('Successfully removed fuel data');
db.collection.insert(jsonFuel, (err, docs) => {
if (err) {
console.log(`error inserting data: ${err}`);
} else {
console.log(`Fuel data was stored: ${docs}`);
}
});
});
然后在data.json
:
[
{
"time":"04/18/2018",
"miles":"28",
"gallons":"30"
}
]
然后运行您的种子文件,希望您的数据库显示出来。