mongoose.connect undefined不是一个函数

Ric*_*ert 6 javascript mongoose mongodb node.js reactjs

我正在尝试使用node.js,React,ReactRouter和webpack在c9.io中建立基本的mongoose连接.我建立了mongodb并且正在监听,但是当我尝试要求mongoose并开始连接时,它失败并告诉我"undefined不是函数",指向我"mongoose.connect".这是我的代码.我不确定我做错了什么.

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017');//this returns "undefined is not a function" and fails
var Schema = mongoose.Schema;

var postSchema = new Schema({
    title: String,
    description: String,
    author: String,
    content: String
});

var Post = mongoose.model('Post', postSchema);

module.exports = Post;
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我想知道webpack是否有问题,因为我使用的是React-router而不是服务器端.

小智 12

如果您在客户端代码中需要此文件(例如,在React组件中),那么是的,这就是问题所在.

您只能在服务器端(例如,"server.js"文件)中要求这样做.

  • 我也遇到这个问题。你能解释一下为什么它只能在服务器端需要吗?假设我不关心凭证或任何其他可见的东西 - 我只想连接并获取数据 - 这不是全部都可以从 React 组件中实现吗? (2认同)