gpt4 book ai didi

javascript - 如何返回 Mongoose 对象字段(在 Module.exports 函数中)

转载 作者:行者123 更新时间:2023-12-03 07:04:20 25 4
gpt4 key购买 nike

所以我有以下代码:

var Mix = require('../models/mix');

module.exports = {
mixTitle: function(mix_id) {
return Mix.findOne({ 'mix_id' : mix_id }, 'title', function(err, mix){
console.log(mix.title); // This correctly prints the title field
return mix.title;
});
}
}

我导入 Mix 模型,然后可以访问回调中的 title 字段,但是有没有办法真正返回 mix.title 字符串值?目前我得到的只是(我认为是)查询原型(prototype)..

Query {
_mongooseOptions: {},
mongooseCollection:
NativeCollection {
collection: { s: [Object] },
opts: { bufferCommands: true, capped: false },
name: 'mixes',
collectionName: 'mixes',
conn:
NativeConnection {
base: [Object],
collections: [Object],
models: [Object],
config: [Object],
replica: false,

...等

如何正确编写此导出函数以仅返回找到的对象的标题字段?

最佳答案

Mix.findOne 是异步函数,您可以立即获取函数结果。您可以传递callback参数并在那里获取结果,或者更好的解决方案 - 使用 promise :

// mix-service.js
var Mix = require('../models/mix');

module.exports = {
mixTitle: function(mix_id) {
return Mix
.findOne({ 'mix_id' : mix_id }, 'title')
.then(mix => {
console.log(mix.title); // This correctly prints the title field
return mix.title;
});
}
};

// calling module
var mixSrvc = require('../mix-service');

mixSrvc
.mixTitle(1)
.then(mixTitle => console.log(mixTitle))
.catch(err => console.log(err));

关于javascript - 如何返回 Mongoose 对象字段(在 Module.exports 函数中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36895585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com