我需要幫助在 mongodb 中查找檔案。我的架構如下:
const users = new Schema({
_id: ObjectId,
facebookId: String,
.....
.....
})
我有 2 個用于查詢的陣列,如下所示:
const facebookIds = ['1', '2', '3']
const _ids = ['1', '2', '3']
目前,我正在考慮facebookIds先找到所有帶有陣列的檔案,獲取它們_id,將結果與_ids陣列連接,最后找到帶有結果_ids陣列的所有檔案。
所以,我想知道一次性查詢檔案的最佳方法是什么,或者這是唯一的方法。
提前致謝。
uj5u.com熱心網友回復:
假設集合中有 3 個用戶使用 facebookId,另外 3 個用戶沒有 facebookId。您已經擁有前 3 個資料的 facebookId 和最后 3 個資料的 _id。
[
{
_id: 1,
facebookId: 10,
},
{
_id: 2,
facebookId: 20,
},
{
_id: 3,
facebookId: 10,
},
{
_id: 4,
facebookId: null,
},
{
_id: 5,
facebookId: null,
},
{
_id: 6,
facebookId: null,
}
]
您可以為此使用$or運算子和$in運算子
db.collection.find({
$or: [
{
facebookId: {
$in: [10,20,30]
}
},
{
_id: {
$in: [4,5,6]
}
}
]
})
這是一個有效的mongoplayground 鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481736.html
