Golang和Mgo按$ natural排序:-1

时间:2016-12-20 09:30:59

标签: mongodb go mgo

我只是想通过Golang和Mgo在MongoDB中获取我的收藏中的最新文档。

我的收藏中的文件:

{
    "_id",
    "numbers" : {
        "fst",
        "snd",
        "thd"
    },
    "none" : [ 
        {
            "fst",
            "snd",
            "thd",
            "email"
        }
    ],
    "twoNums" : [ 
        {
            "fst",
            "snd",
            "thd",
            "email"
        }
    ],
    "threeNums" : [ 
        {
            "fst",
            "snd",
            "thd",
            "email"
        }
    ]
}

我试过了:

err := db.C("plays").Find(nil).Select(bson.M{"numbers": 1}).Sort("$natural:-1").Limit(1).One(&numbs)

$ natural与“-1”之间的空格

err := db.C("plays").Find(nil).Select(bson.M{"numbers": 1}).Sort("$natural: -1").Limit(1).One(&numbs)

在MongoDB shell中,它完美无缺

db.getCollection('plays').find({}, {numbers: 1}).sort({$natural: -1}).limit(1)

2 个答案:

答案 0 :(得分:3)

查看code我认为反向排序应为-$natural

err := db.C("plays")
  .Find(nil)
  .Select(bson.M{"numbers": 1})
  .Sort("-$natural")
  .Limit(1)
  .One(&numbs)

答案 1 :(得分:0)

使用

db.C("plays").Find(nil).Select(bson.M{"numbers": 1}).Sort("$-natural").Limit(1).One(&numbs)