2
我試圖在mongo查詢中模擬一個連接,所以我把我的第一個查詢的結果,然後把它作爲一個$過濾器傳遞給我的第二個查詢。如何獲得一個值數組而不是一個在mongo/node/mongoose中的json數組?
不幸的是我的第一次查詢的結果返回JSON對象,像這樣
[ { _id: 4ecd830da046050100000025 },
{ _id: 4ecd84a0a046050100000085 } ]
一個數組,因爲他們是JSON對象,而不是一個數值數組中過濾$不返回任何東西。我可以手動轉換那個數組,但有沒有內置的方法或函數可以使用?另外,有沒有一種方法可以讓mongo返回值數組呢?目前,我打電話查找查詢作爲這樣
Likes.find {liker:"Me"}, {_id:1}, {safe:true}
這裏是我的第二個查詢
Post.find {_id:{$in:likes}}
我希望這樣的事情
Post.find {_id:{$in:likes._id}}
酷,這工作......這種技術在性能方面如何? mongo中的獨特查詢是否真實快速且快速? – MonkeyBonkey
如果索引,他們是相對較快的是。由於不同操作的查詢子句顯着減少了候選集,因此它應該相對接近原始解決方案。不同的總是需要對候選集進行全面掃描,只要你保持相對較小的金牌即可。祝你好運。 –
如果索引是唯一索引,那麼只需返回btree中的每個節點而不必檢查它們是否是唯一的,該操作可能會更快。 –