我在mongoDB中有这个查询
var query = { "_id": new ObjectID(id)};
var items = {items:1};
warehouses.find(query, items,function (error, docs) {
if (error) {
error(error);
return;
}
success(docs);
});
我想通过_id从文档中获取项目。这让我回复docs.items = undefined
但是当我这样做时:
warehouses.find(query, items).toArray(function (error, docs) {
if (error) {
error(error);
return;
}
success(docs);
});
返回我的数据:
0: Object
_id: ObjectID
items: Array[3]
0: Object
1: Object
2: Object
length: 3
如何通过第一个查询获取数据?我想要像
这样的东西答案 0 :(得分:4)
存在大差异。如果您只想要一个结果,就像在_id
搜索一样,那就使用.findOne()
:
warehouses.findOne(query, items, function (error, doc) {
否则您将返回Cursor()个对象。至少在原生驱动程序中以及在ODM中以某种形式存在。