【问题标题】:Difficulty connecting to mongodb via mongoose [duplicate]难以通过猫鼬连接到 mongodb [重复]
【发布时间】:2018-10-30 03:29:23
【问题描述】:

这就是我通过 mongoose 连接到 mongodb 的方式...

当我运行 seeder.js 时,我收到以下错误.... 架构无效,预期为 mongodb 或 mongodb +srv。

这是我的架构...

这就是我播种数据的方式...

//require the schema here
var Product = require('../models/product');

var mongoose = require('mongoose');
mongoose.connect('localhost:27017/shopping');

//create an array to store new data based on imported schema

var products = [
    
    //creating a new product
    new Product({
    imagePath: 'http://2.bp.blogspot.com/-CEuaUzSjQNc/U9aW9n5xngI/AAAAAAAACmc/mh-994sOx08/s1600/The+C+++Programming+Language+4th+Edition+By+Bjarne+Stroustrup+Pdf+Download.jpg',
    title: 'C++ Bjarne Stroustroup',
    description: 'New C++11 Standard Master Class',
    price: 10
  }) ,

new Product({
    imagePath: 'https://images-na.ssl-images-amazon.com/images/I/41CFs9dkaCL.jpg',
    title: 'C++ in a Nutshell',
    description: 'This book introduces standard C++* and the key programming and design techniques supported by C++. Standard C++ is a far more powerful and polished language than the version of C++ introduced by the first edition of this book. ',
    price: 20
  }),

    new Product({
        imagePath: 'https://images-na.ssl-images-amazon.com/images/I/41jXKNG%2BCZL.jpg',
        title: 'C++ Primer Plus',
        description: 'You will cover the latest and most useful language enhancements, the Standard Template Library and ways to streamline object-oriented programming with C++.',
        price: 25
  }),

    new Product({
        imagePath: 'https://images-na.ssl-images-amazon.com/images/I/91Ln8mm52fL.jpg',
        title: 'Thinking in C++: Introduction to Standard C++, Volume One',
        description: '"This book is a tremendous achievement. You owe it to yourself to have a copy on your shelf. The chapter on iostreams is the most comprehensive and understandable treatment of that subject I\'ve seen to date." ― Al Stevens Contributing Editor, Doctor Dobbs Journal',
        price: 30
  }),
  
  new Product({
    imagePath: 'https://images-na.ssl-images-amazon.com/images/I/51j4ugAKqBL.jpg',
    title: 'Effective Modern C++',
    description: 'Coming to grips with C 11 and C 14 is more than a matter of familiarizing yourself with the features they introduce e.g. auto type declarations move semantics lambda expressions and concurrency support . ',
    price: 17
}),

new Product({
    imagePath: 'https://images-na.ssl-images-amazon.com/images/I/31ENaunM9kL.jpg',
    title: 'Modern C++ Design: Generic Programming and Design Patterns Applied',
    description: 'In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming and C++, enabling programmers to achieve expressive, flexible and highly reusable code.',
    price: 27
})

];


var done =0;
for(var i=0; i<products.length; i++ ) {
    
    //saving the documents to db via mongoose's save function
    products[i].save( (err, result) => {
        done++;
        if(done===products.length) {
            exit();
        }
    });
}

function exit() {

    mongoose.disconnect();
}

当我从 mongo shell 运行数据库时,它显示一个空数据库,这意味着播种失败。

【问题讨论】:

  • 请在任何帖子之前检查答案是否存在。尤其是“自我回答”

标签: node.js mongodb mongoose


【解决方案1】:

通过 mongoose 连接到 mongodb 遵循语法

mongoose.connect("mongodb://hostname:/port/dbname");

在给定的问题中,相同的代码是

mongoose.connect("hostname:/port/dbname");

所以只需在connect方法中url字符串的开头添加mongodb即可。

【讨论】:

    猜你喜欢
    • 2016-04-29
    • 1970-01-01
    • 2020-03-26
    • 2021-12-04
    • 1970-01-01
    • 2020-04-03
    • 2018-08-03
    • 2020-04-08
    相关资源
    最近更新 更多