次のようなドキュメント構造でmongoDBをクエリしたい:
var ExampleSchema = mongoose.Schema({
createdAt: { type: Date, default: Date.now },
validUntil: Date,
name: String
});
有効なドキュメントのみを返すために必要です。つまり、validUntilが現在の時刻よりも大きい場合。これは機能しません。mongooseはすべてのドキュメントを返します。
var d = new Date();
var n = d.toISOString();
Example.find({ '$where': 'validUntil'>n })
使用する $gte
このような :
Example.find({
validUntil: {
$gte: new Date(2016,09,30)
}
})
今日見つかったら、 momentjs を使用して
// start today
var start = moment().startOf('day');
// end today
var end = moment(today).endOf('day');
Example.find({ validUntil: { '$gte': start, '$lte': end })
今日作成されたすべてのアカウントを取得します。
let start = new Date(now.getFullYear(),now.getMonth(),now.getDate(),1,0,0);
let end = new Date(now.getFullYear(),now.getMonth(),now.getDate()+1,0,59,59);
let query = {createdAt: {$gte: start, $lt: end} };
Account
.find(query)
.exec((err, accounts) => console.log(account) )