Запросить все документы за последние 10 минут по метке времени ObjectId - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь получить все документы за последние 10 минут. Я думал, что было бы удобно использовать ObjectId для этого. Я использую этот код для его достижения.

currentTime := time.Now().UTC()
queryTime := currentTime.Add(-10 * time.Minute)
var oidtime = bson.NewObjectIdWithTime(queryTime)
query := bson.M{"_id": bson.M{"$gt": oidtime}}
err := c.Find(query).All(&result)

Но у меня всегда есть ноль в качестве ответа.

err := c.Find(bson.M{}).All(&result)

Хотя этот тип запросов работает нормально. У меня есть эта вещь в журналах Монго.

command: find { find: "meraki", filter: { _id: { $gt: "\�D�        " } }, skip: 0, $db: "devices" } planSummary: IXSCAN {
_id: 1 } keysExamined:0 docsExamined:0 cursorExhausted:1 numYields:0 nreturned:0 reslen:118 locks:{ Global: { acquireCount: { r: 1 } }, Database: { acquireCount: { r: 1 } }, Collection: { acquireCount: { r: 1 } } } protocol:op_query 0ms

обновлено: пример документа

{ "_id" : ObjectId("5cb464aff3276d5fa21cd31d"), "lldp" : *, "cdp" : null, "id" : "*"}
...