簡體   English   中英

findOne 在貓鼬中給我和錯誤

[英]findOne is giving me and error in mongoose

錯誤信息:

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 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
    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM