node.js - 编译 Mongoose 后无法覆盖模型

不确定我做错了什么,这是我的 check.js

var db = mongoose.createConnection('localhost', 'event-db');
db.on('error', console.error.bind(console, 'connection error:'));

var a1= db.once('open',function(){
var user = mongoose.model('users',{ 
       name:String,
       email:String,
       password:String,
       phone:Number,
      _enabled:Boolean
     });

user.find({},{},function (err, users) {
    mongoose.connection.close();
    console.log("Username supplied"+username);
    //doSomethingHere })
    });

这是我的 insert.js

var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/event-db')

var user = mongoose.model('users',{
     name:String,
     email:String,
     password: String,
     phone:Number,
     _enabled:Boolean
   });

var new_user = new user({
     name:req.body.name,
     email: req.body.email,
     password: req.body.password,
     phone: req.body.phone,
     _enabled:false
   });

new_user.save(function(err){
    if(err) console.log(err); 
   });

每当我尝试运行 check.js 时,我都会收到此错误

编译后无法覆盖“用户”模型

我知道这个错误是由于 Schema 不匹配造成的,但我看不到这是在哪里发生的?我对 mongoose 和 nodeJS 很陌生。

这是我从 MongoDB 的客户端界面得到的信息:

MongoDB shell version: 2.4.6 connecting to: test 
> use event-db 
  switched to db event-db 
> db.users.find() 
  { "_id" : ObjectId("52457d8718f83293205aaa95"), 
    "name" : "MyName", 
    "email" : "myemail@me.com", 
    "password" : "myPassword", 
    "phone" : 900001123, 
    "_enable" : true 
  } 
>

最佳答案

您可能会收到此错误的另一个原因是,如果您在不同的文件中使用相同的模型,但您的 require 路径有不同的大小写。

例如,在我的情况下,我在一个文件中有 require('./models/User'),然后在另一个需要访问用户模型的文件中,我有 require('./models/user').

我猜模块和 Mongoose 的查找将其视为不同的文件。一旦我确定这两种情况都匹配,它就不再是问题了。

https://stackoverflow.com/questions/19051041/

相关文章:

node.js - 在 Mongoose 中将两个 OR 查询与 AND 组合

MongoDB - 分页

mongodb - 有没有一种简单的方法可以从 meteor 部署的应用程序中导出数据?

mongodb - Mongoose 唯一索引不起作用!

javascript - 如何使用 Mongoose 从集合中删除所有文档?

mongodb - MongoDB 的 $in 子句是否保证顺序

mongodb - 面向列的 NoSQL 与面向文档的 NoSQL 有何不同?

linux - MongoDB GUI 客户端(跨平台或 Linux)

mongodb - 将 mongo 查询的输出重定向到 csv 文件

node.js - 如何保护 Mongoose/MongoDB 中的密码字段,以便在填充集合时它不会