如何接收结果" keyBy"一个对象而不是mongo查询中的数组?

时间:2017-10-02 02:34:49

标签: mongodb mongodb-query aggregation-framework

lodash有一个名为keyby的函数 https://lodash.com/docs/4.17.4#keyBy 如何获得这样的结果?

const data = db.collection.find()


[
    { id: 'a', text: 'text' },
    { id: 'b', text: 'text' },
    { id: 'c', text: 'text' },
    { id: 'd', text: 'text' },
    { id: 'e', text: 'text' },
]

lodash.keyBy(data, 'id')

{
    a: { id: 'a', text: 'text' },
    b: { id: 'b', text: 'text' },
    c: { id: 'c', text: 'text' },
    d: { id: 'd', text: 'text' },
    e: { id: 'e', text: 'text' },
}

1 个答案:

答案 0 :(得分:0)

您无法在MongoDB中查找查询中的对象。 但是,您可以使用lodash'keyBy'

构建一个
const data = db.collection.find({}, function(err,results){
     if(err) throw err;
       return lodash.keyBy(results, 'id');
});