文件中的多个架构不起作用

Md.*_*lam 2 mongoose mongodb node.js express

我在单个 schema.js 文件中有两个架构

var mongoose = require('mongoose');  

var user = new mongoose.Schema({
  name: String,
  add: String,
  role: String
});

var Organizationn = new mongoose.Schema({
  name: String,
  add: String,
  name:String
});

module.exports = {
  user: user,
  Organizationn: Organizationn
};
Run Code Online (Sandbox Code Playgroud)

访问它就像

var models = require("../models/schema");
models.user.findOne()
Run Code Online (Sandbox Code Playgroud)

它说 findone 不是一个函数

而如果我在文件中使用单用户,则它正在工作。

我已经浏览了这个链接并像上面那样导出

声明多个模式后无法从数据库中获取数据(mongoose + express + mongodb

但不工作

任何的想法?

谢谢

在@anthony 的帮助下,我找到了问题所在

我需要做以下

module.exports = {
  user: mongoose.model('user', user),,
  Organizationn: mongoose.model('Organizationn', Organizationn)
};
Run Code Online (Sandbox Code Playgroud)

Ash*_*shh 5

如果您导出多个文件,则必须使用花括号导入 { schema1 }

var mongoose = require('mongoose');  

var user = new mongoose.Schema({
  name: String,
  add: String,
  role: String
});

var organization = new mongoose.Schema({
  name: String,
  add: String,
  name:String
});

const userSchema = mongoose.model('users', user),
const organizationSchema = mongoose.model('organizations', organization)

module.exports = { User: userSchema, Organization: organizationSchema }
Run Code Online (Sandbox Code Playgroud)

然后导入

var { User } = require("../models/schema");
var { Organization } = require("../models/schema");
User.findOne()
Organization.findOne()
Run Code Online (Sandbox Code Playgroud)