Mongoose:创建用户架构和Todo架构

时间:2017-05-25 23:17:19

标签: node.js mongoose

大家下午好。我一直在努力构建一个小的联系人列表应用程序,我想使用mongoose来存储数据和会话项目。我从来没有使用过猫鼬,所以我选择了一个快速的PDF跟随。大多数if都有意义,我能够将一些东西拼凑在一起并运行身份验证以使用UserSchema添加新用户。效果很好。我现在迷失的是如何使用mongoose创建名为ContactSchema的第二个模式。我想我会为每个模式创建2个不同的文件(user.js和contact.js),但是当我尝试这个时,我在mongo终端中运行show collections时仍然看不到联系人集合也不要抛出任何错误。当我在robomongo中检查它时,它也是一样的。

我的服务器文件调用我的所有模型:

require('./server/models').connect(config.dbUri);
// config.dbUri -> "dbUri": "mongodb://localhost/react_app"

我的user.js文件:

const mongoose = require('mongoose');
const bcrypt = require('bcrypt');

// define the User model schema
const UserSchema = new mongoose.Schema({
  email: {
    type: String,
    index: { unique: true }
  },
  password: String,
  name: String
});

...bcrypt code here

module.exports = mongoose.model('User', UserSchema);

我的contact.js文件:

const mongoose = require('mongoose');

// define the Contact model schema
const ContactSchema = new mongoose.Schema({
  content    : String,
  updated_at : Date
});

module.exports = mongoose.model('Todo', ContactSchema);

我的index.js文件需要user.js和contact.js架构:

const mongoose = require('mongoose');

module.exports.connect = (uri) => {
  mongoose.connect(uri);

  // plug in the promise library
  mongoose.Promise = global.Promise;

  mongoose.connection.on('error', (err) => {
    console.error(`Mongoose connection error: ${err}`);
    process.exit(1);
  });

  require('./user');
  require('./contact');
};

index.js,user.js和contact.js文件都在我的models文件夹中。我可以在控制台中运行没有错误,但我仍然没有在mongo端看到联系人集合。我在这里走在正确的轨道上吗?一如既往,任何帮助或相关的帖子都非常感谢。为了更好地了解,这里是完整项目的github链接:https://github.com/DanDeller/Base。再次感谢你们。

1 个答案:

答案 0 :(得分:4)

您是否已将任何数据添加到联系人集合中?

Mongoose是一种'ORM',提供映射到MongoDB集合的抽象模式。但是,这些模式仅存在于使用mongoose的应用程序的上下文中。 MongoDB没有模式的概念。这是一个相当笨的文档存储。它与SQL不同,在ORM中定义内容通常会在数据库中创建物理表。 mongoose提供的模式纯粹是抽象的,只能在应用程序级别强制执行。

在您告诉应用程序根据您的联系方式创建记录并指示mongoose将其保留到商店之前,mongo将不知道联系人。

相关问题