V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
Light3
V2EX  ›  MongoDB

求教 mongo $in 方法排序

  •  
  •   Light3 · May 6, 2016 · 4897 views
    This topic created in 3655 days ago, the information mentioned may be changed or developed.

    按照$in 里面的数组的顺序排序咋用 百毒没搜到。。 mysql 是 order by field 就行了 不知道 mongo 是否有同样的方法 老司机遇到过的话 教教

    3 replies    2016-05-07 09:47:43 +08:00
    whahugao
        1
    whahugao  
       May 6, 2016
    这种排序为什么非要在 mongo 里做? 用$in 查出来以后,在代码里手动排序呗。
    Light3
        2
    Light3  
    OP
       May 6, 2016
    @whahuzhihao
    = = 手动了 mysql 用多了。
    markocen
        3
    markocen  
       May 7, 2016
    可以用`db.eval`, 不过这个方法在 3.0 已经 deprecated 了。。

    db.eval(function() {
    return db.MyCollection
    .find({‘ name': { $in: ['a', 'b', 'c']}})
    .toArray()
    .sort(function(doc1, doc2) {
    var arr = ['a', 'b', 'c']
    return arr.indexOf(doc1.name) > arr.indexOf(doc2.name)
    })
    });
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3032 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 04:51 · PVG 12:51 · LAX 21:51 · JFK 00:51
    ♥ Do have faith in what you're doing.