是否可以在同一模式中执行查询?例如,如果我有一个具有2个日期字段的模式,我需要找到一个Date字段大于另一个的数据 . 这是我的架构和代码示例 .
var Schema = mongoose.Schema;
var someSchema = new Schema({
someId : { type: String, default: '' ,index:true, unique: true },
userName : { type: String, default: ''},
fullName : { type: String, default: '' },
created : {type: Date, default:''},
lastUpdated : {type: Date, default:''},
primaryGroupId : {type:String,default:''},
nextHearing : {type: Date, default:''},
status : {type:String,default:'open'},
});
mongoose.model('Problem', someSchema);
以下代码是我的查询 .
var problemModel = mongoose.model('Problem');
var today = Date.now();
problemModel.find({$and:[{'nextHearing':{$lte: today}},{'nextHearing':{$gte : 'lastUpdated'}}]},function(err, result){
当我运行该程序时,我收到以下错误
{ message: 'Cast to date failed for value "lastUpdated" at path "nextHearing"', name: 'CastError', type: 'date', value: 'lastUpdated', path: 'nextHearing' }
1 回答
所以你可能需要改变:
至
另外,看看this