我正在嘗試檢查在某個時間范圍內是否有預訂。不確定如何使用 mongoose 在 mongodb 中使用 or 條件。
這是我所擁有的:
const appoinments = await Appointment.find({
seller: seller._id,
startTime: {
$gt: ISODate(new Date(req.body.startTime).toISOString),
$lt: ISODate(new Date(req.body.endTime).toISOString),
},// I WANT TO ADD THE OR TO THIS TWO QUERIES
endTime: {
$gt: ISODate(new Date(req.body.startTime).toISOString),
$lt: ISODate(new Date(req.body.endTime).toISOString),
},
});
我想檢查并查找與即將添加的新約會或在約會期間結束的任何約會相沖突的任何約會。
這是我的約會的樣子:
const appointmentSchema = new mongoose.Schema({
seller: {
type: mongoose.Schema.Types.ObjectId,
ref: "Seller",
},
startTime: {
type: Date,
required: true,
},
endTime: {
type: Date,
},
});
uj5u.com熱心網友回復:
您可以簡單地使用or()mongoose 提供的成員函式。它的作業方式$or與 mongoose檔案中定義的運算子一樣。
我希望它有幫助!
const appoinments = await Appointment.find().or([
{
startTime: {
$gt: ISODate(new Date(req.body.startTime).toISOString),
$lt: ISODate(new Date(req.body.endTime).toISOString),
}
},
{
endTime: {
$gt: ISODate(new Date(req.body.startTime).toISOString),
$lt: ISODate(new Date(req.body.endTime).toISOString),
},
}
]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473946.html
標籤:javascript 节点.js mongodb 表示 猫鼬
