Artist.findOne 不是函数

Artist.findOne is not a function

当我在 FindArtist.js 文件中 运行 这段代码时,我在 Electron 应用程序中遇到错误:

const Artist = require('../models/artist');

/**
 * Finds a single artist in the artist collection.
 * @param {string} _id - The ID of the record to find.
 * @return {promise} A promise that resolves with the Artist that matches the id
 */
module.exports = _id => {
  return Artist.findOne({ _id: _id });
};

我确实安装了 mongoose,但似乎我不再适当地导入 mongoose 或 Artist 模型?不确定。

这是 models/artist.js 文件:

const mongoose = require('mongoose');
const AlbumSchema = require('./album');
const Schema = mongoose.Schema;

const ArtistSchema = new Schema({
  name: String,
  age: Number,
  yearsActive: Number,
  image: String,
  genre: String,
  website: String,
  netWorth: Number,
  labelName: String,
  retired: Boolean,
  albums: [AlbumSchema]
});

const Artist = mongoose.model('artist', ArtistSchema);

module.exports = ArtistSchema;

我发现 models/artist.js 文件中的 module.exports 是错误的。

而不是:

// const Artist = mongoose.model('artist', ArtistSchema);

// module.exports = ArtistSchema;

应该是这样的:

module.exports = mongoose.model('artist', ArtistSchema);