[英]Mongoose .findOne Error returns the model found?
所以我試圖通過在 mongoose 中使用 findOne 函數來訪問這個帳戶,並且我試圖控制台.記錄錯誤,但錯誤只是找到了正確的模型..一旦我找到了我想要訪問的正確模型模式中的嵌套對象之一,因此我可以編輯該值。
我不確定為什么會發生這種情況,下面我將代碼以及登錄到控制台的錯誤放在下面,如果需要,我可以提供更多信息。
let accountSchema = mongoose.Schema({
username:{
type: String,
required: true,
index: true,
unique: true,
},
password:{
type: String,
required: true,
},
money:{
type: Number,
},
inventory: { type: [{
weed: { type: Number },
coke: { type: Number },
}]},
});
mp.events.addCommand('coke', (player) => {
console.log(player.name);
Account.findOne({username: 'a'}, function(acc, err) {
if(err) return console.log(err);
console.log(acc.username);
acc.inventory[1] = acc.inventory[1] + 1;
acc.save(function(err){
if(err) return player.outputChatBox('Not logged in');
player.outputChatBox('Added 1 coke');
});
});
});
(Console) {"_id":"5b6acbbbc285477e39514cb9","username":"a","password":"$2a$10$XABqooqFRINYVdJ79.i2E.5xdpitRrfZxUBmIPAZjjaXKvvLDc2y2","money":5000,"inventory":[{"_id":"5b6acbbbc285477e39514cbb","weed":0},{"_id":"5b6acbbbc285477e39514cba","coke":0}],"__v":0}
.findOne
方法的回調函數具有以下簽名:
function (err, obj) {
}
您以錯誤的順序使用參數 - 錯誤對象是第一個參數,找到的對象是第二個。
.findOne方法回調必須具有以下參數function (err, res)
。 因此,您以相反的順序設置它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.