如何使用 mongoose 中的 find 函数在 mongodb 中编写 or 语句
How to write an or statement in mongodb using the find function in mongoose
我正在尝试检查某个时间范围内是否有预订。不确定如何使用 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,
},
});
你可以简单地使用mongoose提供的or()
成员函数。它的工作方式就像在 mongoose documentation.
中定义的 $or
运算符一样
希望对您有所帮助!
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),
},
}
]);
我正在尝试检查某个时间范围内是否有预订。不确定如何使用 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,
},
});
你可以简单地使用mongoose提供的or()
成员函数。它的工作方式就像在 mongoose documentation.
$or
运算符一样
希望对您有所帮助!
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),
},
}
]);