gpt4 book ai didi

node.js - MongoDB - 从架构模型中仅查找 bool 值为 false 的元素

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:54 25 4
gpt4 key购买 nike

我不再使用 MongoDB 和 NodeJS我正在尝试查找所有已完成的任务: false 以显示在仪表板上。我按最新到最旧的顺序排序,发送和显示的限制为 4,但它正在发送所有任务,我希望仅发送完成: false (这意味着任务未检查:完成:true)但是我不知道如何将其放入填充选项中..

我的任务架构模型:

let mongoose = require("mongoose");

let taskSchema = new mongoose.Schema({

tasktitle: String,
taskcomment: String,
project: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Project'
}],
user: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}],
created: {
type: Date,
default: Date.now
},
done: {
type: Boolean,
default: false
}
})

module.exports = mongoose.model('Tasks', taskSchema);

我的任务 Controller :

exports.render_pending_tasks = (req, res) => {
let userid = req.user._id;

User.findById(userid).populate({ path: 'tasks', options: { sort: { _id: -1 }, limit: 4 } })
.exec((err, tasks) => {
if (err) {
console.log(err);
} else {
res.send(tasks);
}
});
};

最佳答案

您可以在填充函数中使用match选项

User.findById(userid)
.populate({
match: { done: false },
path: 'tasks',
options: { sort: { _id: -1 }, limit: 4 }
})

关于node.js - MongoDB - 从架构模型中仅查找 bool 值为 false 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52784119/

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