所以基本上我试图在一个集合中获得所有的文档(因为它在Mongodb中被称为)。我看过一些Youtube视频,他们使用db.collection.find()方法来做到这一点。
在我的情况下,然而,由于某些原因,这不起作用。我正在使用node js,看看下面的代码。
import { MongoClient } from 'mongodb';
const client = new MongoClient(uri);
const database = client.db(dbase);
const collection = database.collection(collec);
const getAll = async () => {
const res = await collection.find({});
await client.close();
return res;
console.log(getAll);
我期望得到一个对象或者一个对象数组但不幸的是我得到了这个
<ref *1> FindCursor {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
[Symbol(kCapture)]: false,
[Symbol(client)]: MongoClient {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
我不打算显示完整的错误信息,因为它包含敏感信息,但这是我认为应该保存共享的前几行。
Thanks in advance…
需要调用toArray()
函数来获取结果数组。
const getAll = async () => {
const res = await collection.find({}).toArray();
await client.close();
return res;
}
console.log(getAll())
找到答案了
const getAll = async () => {
const cursor = COL.find({});
await cursor.forEach((doc) => console.log(doc));
};
或
const getAll = async () => {
const res = await collection.find({}).toArray();
await client.close();
return res;
}
console.log(getAll())
感谢Sou的第二个答案!