Javascript Mongoose-lean()返回bson数据
此查询未按预期工作:Javascript Mongoose-lean()返回bson数据,javascript,node.js,mongodb,mongoose,bson,Javascript,Node.js,Mongodb,Mongoose,Bson,此查询未按预期工作: Model.find().select('_id').lean().exec(function(err, ids) { (...) }) 据我所知,lean()方法应该以js对象的形式返回查询结果,而不是mongodbson 编辑: 实际结果: forEach(function(item, index, array) { console.log(item); } 这: 预期成果: [{_id: "myid1"}, {_id: "myid2"}, {_id
Model.find().select('_id').lean().exec(function(err, ids) {
(...)
})
据我所知,lean()方法应该以js对象的形式返回查询结果,而不是mongodbson
编辑:
实际结果:
forEach(function(item, index, array) {
console.log(item);
}
这:
预期成果:
[{_id: "myid1"}, {_id: "myid2"}, {_id: "myid3"}, {_id: "myid4"}]
你到底期望它返回什么?它现在返回什么?
console.log(ids)
的输出是什么?@JJJ使用实际结果和预期结果进行编辑。.lean()
不会将objectid转换为字符串;它只返回一个普通对象,而不是Mongoose对象。如果您想要字符串而不是objectID,ids=ids.map(函数(项){return{{uid:item.\uid.toString()})代码>@jj-lthanks人它成功了。但当我在没有select语句的情况下使用lean()时,它为每个模型引用返回字符串ID。我知道js上没有objectId类型。
[{_id: "myid1"}, {_id: "myid2"}, {_id: "myid3"}, {_id: "myid4"}]