Mongoose - Lean() возвращает данные bson

Этот запрос не работает должным образом:

Model.find().select('_id').lean().exec(function(err, ids) {
    (...)
})

насколько я знаю, метод lean() должен возвращать результаты запроса в виде js-объекта, а не mongodb bson.

изменить:

фактический результат:

forEach(function(item, index, array) {
    console.log(item);
}

это:

_bsontype=ObjectID, 0=88, 1=198, 2=150, 3=109, 4=7, 5=81, 6=146, 7=44, 8=18, 9=94, 10=112, 11=159
_bsontype=ObjectID, 0=88, 1=198, 2=184, 3=185, 4=19, 5=120, 6=81, 7=12, 8=197, 9=73, 10=143, 11=217
_bsontype=ObjectID, 0=88, 1=198, 2=187, 3=53, 4=144, 5=27, 6=216, 7=20, 8=202, 9=80, 10=181, 11=183
_bsontype=ObjectID, 0=88, 1=198, 2=189, 3=10, 4=61, 5=115, 6=116, 7=28, 8=202, 9=233, 10=198, 11=106

Ожидаемые результаты:

[{_id: "myid1"}, {_id: "myid2"}, {_id: "myid3"}, {_id: "myid4"}]

person joe.js    schedule 13.03.2017    source источник
comment
Что именно вы ожидаете, что он вернет и что он вернет сейчас? Каков результат console.log(ids)?   -  person JJJ    schedule 13.03.2017
comment
@JJJ отредактировано с фактическими и ожидаемыми результатами.   -  person joe.js    schedule 13.03.2017
comment
.lean() не преобразует ObjectID в строки; он просто возвращает простой объект вместо объекта Mongoose. Если вам нужны строки вместо ObjectID, ids = ids.map(function(item) { return { _id: item._id.toString() }});   -  person JJJ    schedule 13.03.2017
comment
@JJJ lспасибо, чувак, это сработало. но когда я использовал lean() без оператора select, он возвращал идентификаторы строк для каждой ссылки на модель. Я знаю, что в js нет типа objectId.   -  person joe.js    schedule 13.03.2017