我正在为我的项目创建一个数据库,但是在此代码中:
function getallvideos(callback) {
MongoClient.connect(url, function(err, client) {
const db = client.db("cathub")
db.collection("videos", function(err, collection) {
collection.find().toArray(function(err, res) {
callback(res)
})
})
db.close()
})
}
我收到此错误:
TypeError:无法读取null的属性“ db”
我的MongoDB:
答案 0 :(得分:2)
如上所述,您需要记录连接错误。完成此操作后,您将了解连接问题是什么!还请确保您的URL中存在数据库名称!
function getallvideos(callback) {
MongoClient.connect(url, function(err, client) {
if (err) {
console.error('An error occurred connecting to MongoDB: ', err);
} else {
const db = client.db("cathub")
db.collection("videos", function (err, collection) {
collection.find().toArray(function(err, res) {
callback(res)
})
})
db.close()
}
})
}
我还会处理访问视频集的错误,从长远来看,这将是最好的选择!
答案 1 :(得分:0)
const DB_URL = 'mongodb+srv://yourUser:yourPassword@yourCluster.mongodb.net/'
const DB_NAME = 'someDBName'
const DB_COLLECTION_NAME = 'someCollectionName'
const getData = async () => {
const client = await MongoClient.connect(DB_URL, {
useUnifiedTopology: true
}).catch((err) => {
console.log(err)
})
if (!client) {
return []
}
try {
const db = client.db(DB_NAME)
const collection = db.collection(DB_COLLECTION_NAME)
const res = await collection.find().toArray()
return res
// console.log(res)
} catch (err) {
return err
// console.log(err)
} finally {
client.close()
}
}
getData()
.then((data) => {
console.log(data)
})
.catch((err) => {
console.log(err)
})