錯誤資訊:
err: {
"type": "MongooseError",
"message": "Query was already executed: guilds.findOne({ name: 'Stream Squire' })",
代碼:
async function lookUpDB(guildName, lookFor) {
const query = {name: guildName}
const guildModel = await model('guilds', GuildSchema)
const guildFind = guildModel.findOne(
query,
(err, doc) => {
console.log(doc || err)
}
)
return guildFind
}
資料庫資料:

目標:我正在嘗試創建一個函式,該函式可以在我需要在資料庫中查找某些內容時隨時使用。當我嘗試查找前綴時,當前將錯誤放在首位。我對 mongoose 或 mongodb 不太熟悉,這是一個不和諧的機器人,我正在嘗試學習如何使用它
更新:公會架構
const { model, Schema } = require('mongoose')
const GuildSchema = new Schema(
{},
{
strict: false,
versionKey: false,
}
)
module.exports = { GuildSchema, model }
資料庫:
const mongoose = require('mongoose')
const { logger } = require('../config/pino')
const { config } = require('../config/dotenv')
mongoose.connect(
//removed info
{
useNewUrlParser: true,
useUnifiedTopology: true,
}
)
const { connection: db } = mongoose
db.on('connected', () => {
logger.info('Database connected')
})
db.on('disconnected', () => {
logger.info('Database disconnected')
})
db.on('error', (err) => {
logger.error(err)
})
module.exports = { db }
uj5u.com熱心網友回復:
好的,按照慣例,如果您還沒有宣告創建一個架構檔案,例如,
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const schemaDefinition = {
name: {
type: String,
required: true,
},
botName: {
type: String,
required: true,
},
Users:[{
type: String
}],
//add the rest
}
const GuildSchema = new Schema(schemaDefinition);
module.exports = mongoose.model('guilds', GuildSchema);
然后在你的 API 邏輯檔案中,匯出這個模式模型,
const GuildsModel = require('path to file');
async function lookUpDB(guildName, lookFor) {
const query = {name: guildName}
const guildFind = GuildsModel.findOne(
query,
(err, doc) => {
console.log(doc || err)
}
)
return guildFind
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/348842.html
標籤:javascript 猫鼬
