這就是我 console.log() 時發生的事情
這就是當我回傳具有該 ID 的所有檔案時發生的情況,我只得到第一個檔案
const followingUsers = await User.find({ _id: { $in: foundUser.followings } })
const getFeedData = async() => {
for (let user of followingUsers) {
for (let postId of user.posts) {
console.log(postId)
}
}
}
我在 console.log(postId) 時運行此代碼,它回傳具有該 ID 的所有帖子,但是當我嘗試檢索具有該 ID 的所有檔案時,它只回傳一個檔案
uj5u.com熱心網友回復:
findById將只回傳一條記錄,或者null,ID 是集合中每個檔案上的 _id 欄位,它是唯一值
find相當于whereSQL 中的命令,它回傳與查詢匹配的盡可能多的檔案,或者一個空陣列
$in作為查詢傳遞以find查找用戶 ID 的匹配檔案陣列
因此,如果您已經知道檔案 _id,那么find只要您傳遞了一個有效的陣列,就會回傳該 IDObjectId
// (pretending these are real id's)
const arrayOfUserIds = [
ObjectId("5af619de653438ba9c91b291"),
ObjectId("5af619de653438ba9c91b293"),
ObjectId("5af619de653438ba9c91b297")
]
const users = await User.find({ _id: { $in: arrayOfUserIds } })
console.log(users.length)
users.forEach((user, index) => {
console.log(`${index} - `, user._id)
})
// => 3
// => 0 - ObjectId("5af619de653438ba9c91b291")
// => 1 - ObjectId("5af619de653438ba9c91b293")
// => 2 - ObjectId("5af619de653438ba9c91b297")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/460149.html
上一篇:貓鼬按升序排序
下一篇:外鍵作為陣列的貓鼬查找
