Система не может найти указанный файл ошибка при запуске узла populatedb <myMongoDBURL> - PullRequest
0 голосов
/ 25 января 2020

Я следую учебному пособию Express на MDN , однако я сталкиваюсь с вышеуказанной проблемой при запуске команды node populatedb <your_mongodb_url> (заменена на фактический URL). Командная строка возвращает The system cannot find the file specified.. Выполнение команды node populatedb <blank> с удаленным URL или просто замененным на '' возвращает: This script populates some test books, authors, genres and bookinstances to your database. Specified database as argument - e.g.: populatedb mongodb+srv://cooluser:coolpassword@cluster0-mbdj7.mongodb.net/local_library?retryWrites=true MongoDB connection error: MongoParseError: Invalid connection string, по крайней мере, я знаю, что мой файл populatedb. js обнаруживает. Я правильно заменил имя пользователя и пароль в URL, а также имя базы данных. Любая помощь в решении этой проблемы очень ценится.

Мое приложение. js голова выглядит так:

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();


//Set up mongoose connection
var mongoose = require('mongoose');
var mongoDB = 'mongodb+srv://<myusername>:<mypassword>@cluster0-qzoog.mongodb.net/local_library?retryWrites=true';
mongoose.connect(mongoDB, { useNewUrlParser: true });
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));

Мой жанр. js файл:

var mongoose = require('mongoose');

var Schema = mongoose.Schema;

var GenreSchema = new Schema(
    {
        name : {type: String, required: true},
    }
);

//Virtual for genre' URL
GenreSchema
.virtual('url')
.get(function() {
    return '/catalog/genre/' + this._id;
});

//Export model
module.exports = mongoose.model('Genre', GenreSchema);

Мой заполненный. js заголовок файла:

#! /usr/bin/env node

console.log('This script populates some test books, authors, genres and bookinstances to your database. Specified database as argument - e.g.: populatedb mongodb+srv://cooluser:coolpassword@cluster0-mbdj7.mongodb.net/local_library?retryWrites=true');

// Get arguments passed on command line
var userArgs = process.argv.slice(2);
/*
if (!userArgs[0].startsWith('mongodb')) {
    console.log('ERROR: You need to specify a valid mongodb URL as the first argument');
    return
}
*/
var async = require('async')
var Book = require('./models/book')
var Author = require('./models/author')
var Genre = require('./models/genre')
var BookInstance = require('./models/bookinstance')


var mongoose = require('mongoose');
var mongoDB = userArgs[0];
mongoose.connect(mongoDB, { useNewUrlParser: true });
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...