2016-10-09 1 views
0

Bin ich mit $gte und $lte falsch mit anderen Bedingungen? Ich habe leere Array, aber wenn ich nur user_email:req.bodu.user_email mache, kann ich alle Daten bekommen.

function firstDayOfMonth() { 
    var d = new Date(Date.apply(null, arguments)); 
    d.setDate(1); 
    return d.toISOString(); 
} 

function tomorrowDate() { 
    var d = new Date(); 
    d.setDate(d.getDate() + 1) 
    return d.toISOString(); 
} 

Users.find({ 
    "user_email": req.body.user_email, 
    "createdAt": { 
     "$gte": firstDayOfMonth(), 
     "$lte": tomorrowDate() 
    } 
    }, 
    function(err, response) { 
    if (!err) { 
     console.log(response) 
     res.json(response); 
    } 
    }); 
+0

was Ihr 'firstDayOfMonth' Wert ist, da Ihr' Date.now() 'Wert ist Timestamp nicht Datumsformat? – abdulbarik

+0

@abdul, toISOString? –

+0

Es liegt an Ihnen, geben Sie das gleiche Format in beiden Zustand und es wird funktionieren – abdulbarik

Antwort

1

Es sollte Arbeit

ich nur mit diesen docs getestet

/* 1 */ 
{ 
    "_id" : ObjectId("57f9cc3dc4ac279a7c539d0f"), 
    "TechActivityId" : 0, 
    "LicenseId" : 0, 
    "created" : "2016-01-01T00:00:00.000Z", 
    "StateofActivity" : "State of Activity", 
    "TechGId" : "123121134" 
} 

/* 2 */ 
{ 
    "_id" : ObjectId("57f9e674c4ac279a7c539d10"), 
    "TechActivityId" : 0, 
    "LicenseId" : 0, 
    "created" : "2016-10-10T06:28:37.146Z", 
    "StateofActivity" : "State of Activity", 
    "TechGId" : "1231234" 
} 

db.getCollection('hola').find({"created":{"$gte":"2016-01-01T00:00:00.000Z","$lte":"2016-10-10T06:28:37.146Z"}}) 

Und ich bin immer beide Dokumente

+0

Ich habe einen Tippfehler hahaha –

+0

Lol ... passiert manchmal Prost !!! – abdulbarik

Verwandte Themen