sql >> Databasteknik >  >> NoSQL >> MongoDB

Fråga om datum för inlägg skapade de senaste 24 timmarna

För att få inlägg skapade under de senaste 24 timmarna kan du få aktuell tid, subtrahera 24 timmar och få värdet av startdatumet att använda i din datumintervallfråga:

var start = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));

Post.find({ "created_at": { "$gte": start } }).exec(callback);

Om du vill veta mer om $gte , kolla följande artikel:

Med momentjs bibliotek detta kan vara enkelt

var start = moment().subtract(24, 'hours').toDate();
Post.find({ "created_at": { "$gte": start } }).exec(callback);

Du kan också definiera ett datum standard med en funktion istället för pre hook middleware:

var post = new mongoose.Schema({
    text : String,
    created_at : {type : Date, default: Date.now, index : true},
    pos : {latitude: Number, longitude: Number},
    created_by : {type : Schema.Types.ObjectId, ref : "UserSchema"}
});


  1. Mongoose this.model är inte en funktion

  2. Sortera nycklar i Response Object från Mongoose i ExpressJS och NodeJS

  3. MongoDB-aggregation - projekt fältvärden som fält

  4. Det går inte att montera azure filresurser som mongodb-volym i azure-behållareinstanser