sql >> Database >  >> NoSQL >> MongoDB

Verzamel MongoDB-resultaten op ObjectId-datum

Update:er is een ingebouwde manier om dit nu te doen, zie https://stackoverflow.com/a /51766657/295687

Er is geen manier om te bereiken wat u vraagt ​​met het aggregatieraamwerk van mongodb, omdat er geen aggregatie-operator is die ObjectId's in iets datumachtigs kan veranderen (er is een JIRAticket , hoewel). U zou echter in staat moeten zijn om te bereiken wat u wilt met kaartverkleining:

// map function
function domap() {
    // turn ObjectId --> ISODate
    var date = this._id.getTimestamp();
    // format the date however you want
    var year = date.getFullYear();
    var month = date.getMonth();
    var day = date.getDate();

    // yields date string as key, entire document as value
    emit(year+"-"+month+"-"+day, this);
}

// reduce function
function doreduce(datestring, docs) {
    return {"date":datestring, "docs":docs};
}


  1. Een overzicht van de Percona MongoDB Kubernetes-operator

  2. MongoDB genest OF/EN waar?

  3. Apache Reverse Proxy configureren voor het hosten van Laravel Echo Server op productie

  4. Predis geeft 'Fout bij het lezen van regel van server'