Sti*_*rik 4 mongoose mongodb node.js express
我有以下架构:
var sampleSchema = new Schema({
name: String,
dates: [{
date: Date,
duration: Number
}]
});
Run Code Online (Sandbox Code Playgroud)
我需要根据以下规则过滤记录:如果其中一个日期晚于给定日期date_begin,请保留记录,否则不要.
我的印象是$ gte或$ lte是我需要的功能,但我找不到正确使用它们的方法.我试过了
sampleSchema.find({date_begin: {$gte: 'date'}});
Run Code Online (Sandbox Code Playgroud)
或者它的一些变体,但我似乎无法使它工作.任何人都知道我应该怎么做?
要查询数组内的元素,使用$ elemMatch:
SampleModel.find( { dates : { $elemMatch: { date : { $gte: 'DATE_VALUE' } } } } )
Run Code Online (Sandbox Code Playgroud)
如果您使用单个查询条件,则可以直接过滤:
SampleModel.find( { 'dates.date': { $gte: 'DATE_VALUE' } } )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9197 次 |
| 最近记录: |