Как вывести массив, который в массиве в базе данных MongoDB?
Делаю вот такой запрос через Mongoose:
async function findFunctionsInTheChat() {
const chats = db.models.chats.findOne({ chatid: message.chatId })
chats.find({ chatid: message.chatId }).then(res => {
const func = res[0]
console.log(func)
})
}
Получаю это:
{
_id: new ObjectId("643beef11b195912ac16d0d8"),
chatid: 9,
peerid: 2000000009,
rules: '',
inrules: '',
maxwarns: 2,
new: 'false',
functions: { all_function: 'false', ssilka_function: 'false' },
__v: 0
}
Пытаюсь вывести functions:
async function findFunctionsInTheChat() {
const chats = db.models.chats.findOne({ chatid: message.chatId })
chats.find({ chatid: message.chatId }).then(res => {
const func = res[0].functions
console.log(func)
})
}
findFunctionsInTheChat()
Получаю:
undefined
Поправьте что-то в коде, если я делаю не так.
Ответы (1 шт):
Автор решения: Semen
→ Ссылка
Проблема была в том что в файле database.js в модуле chats не было строки functions: Object, вот весь код кому надо:
chats: mongoose.model("chats",{
chatid: Number,
peerid: Number,
rules: String,
inrules: String,
maxwarns: Number,
new: String,
functions: Object
})
Функция для вывода:
async function findFunctionsInTheChat() {
const chats = db.models.chats.findOne({ chatid: message.chatId})
chats.find({ chatid: message.chatId }).then(res => {
const func = res[0].functions
console.log(func)
})
}
findFunctionsInTheChat()
Получаем { all_function: 'false', ssilka_function: 'false' }