Javascript Mongoose或Query不返回任何内容
我试图查询那些有适合给定用户时间表的学习课程的组。为什么下面的查询不起作用Javascript Mongoose或Query不返回任何内容,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我试图查询那些有适合给定用户时间表的学习课程的组。为什么下面的查询不起作用 Group.find().or([ {$and: [ {mondayStart: {lte: 6}}, {mondayEnd: {gte: 8}}] }, {$and: [ {tuesdayStart: {lte: 9}}, {tuesdayEnd: {gte:13}}] }, {$and: [ {wednesdayStart: {lte: 9}}, {wednesdayEnd: {gte: 12}}] ]
Group.find().or([
{$and: [ {mondayStart: {lte: 6}}, {mondayEnd: {gte: 8}}] },
{$and: [ {tuesdayStart: {lte: 9}}, {tuesdayEnd: {gte:13}}] },
{$and: [ {wednesdayStart: {lte: 9}}, {wednesdayEnd: {gte: 12}}]
])
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const GroupSchema = new Schema({
owner: {type: mongoose.Schema.ObjectId, ref: 'users'},
subject: String,
date: {type: Date, default: Date.now},
mondayStart: Number,
mondayEnd: Number,
tuesdayStart: Number,
tuesdayEnd: Number,
wednesdayStart: Number,
wednesdayEnd: Number
});
module.exports = Group = mongoose.model('groups', GroupSchema);
您必须执行查询才能返回某些内容
const query = Group.find().or([
{$and: [{mondayStart: {lte: 6}}, {mondayEnd: {gte: 8}}]},
{$and: [{tuesdayStart: {lte: 9}}, {tuesdayEnd: {gte: 13}}]},
{$and: [{wednesdayStart: {lte: 9}}, {wednesdayEnd: {gte: 12}}]}
]);
查询可通过以下方式执行:
或者通过调用隐式执行查询的:
// Using then
query.then((groups) => {
console.log(groups);
}).catch((err) => {
console.error(err);
});
// Using async/await
try {
const groups = await query;
console.log(groups);
} catch (err) {
console.error(err);
}
为什么使用find.or作为逻辑或运算符??
// Using then
query.then((groups) => {
console.log(groups);
}).catch((err) => {
console.error(err);
});
// Using async/await
try {
const groups = await query;
console.log(groups);
} catch (err) {
console.error(err);
}