[英]How to get documents from MongoDB?
我在MongoDB Atlas上有一個數據庫。 使用NodeJS,我建立了一個連接並嘗試獲取一些數據。
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
if(err){
console.log(err)
return res.status(400).json({msg:"Error occured while trying to connect to database", error: err})
}
const collection = client.db("first-test").collection("members")
// perform actions on the collection object
// console.log(collection)
collection.forEach(member => {
console.log(member)
})
client.close();
return res.status(200).json({msg:"success"})
});
當我嘗試console.log(collection)
我得到了一個大對象作為輸出(我想這就是所謂的游標)
Collection {
s: {
pkFactory: [Function: ObjectID] {
index: 4705316,
createPk: [Function: createPk],
createFromTime: [Function: createFromTime],
createFromHexString: [Function: createFromHexString],
isValid: [Function: isValid],
ObjectID: [Circular],
ObjectId: [Circular]
},
db: Db {
_events: [Object: null prototype] {},
_eventsCount: 0,
_maxListeners: undefined,
s: [Object],
serverConfig: [Getter],
bufferMaxEntries: [Getter],
databaseName: [Getter]
},
// And so on ....
當我嘗試collection.forEach(member => console.log(member))
,出現錯誤TypeError: collection.forEach is not a function
。 我的問題是,如何從數據庫中獲取數據?
您缺少“查找”所有文檔的步驟。
來自w3schools:
dbo.collection("customers").find({}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
我建議使用貓鼬,這要簡單得多。
但是實際的代碼是
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => throw err);
client.members.find({},(err, res)=>{
console.log(res);
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.