मैं संदेशों की एक मोंगो संग्रह है कि इस तरह दिखता है:मोंगो तरह पर एक गणना की हालत
{
'recipients': [],
'unRead': [],
'content': 'Text'
}
प्राप्तकर्ता उपयोगकर्ता आईडी की एक सरणी है, और अपठित सभी उपयोगकर्ताओं ने अभी नहीं खोला है की एक सरणी है संदेश। यही कारण है कि इरादा के रूप में काम कर रहा है, लेकिन मैं, सभी संदेशों की सूची क्वेरी करने के लिए इतना है कि यह रिटर्न पहले 20 परिणामों की जरूरत है जैसे बिना पढ़े लोगों को पहले कुछ वरीयता देते हुए,:
db.messages.find({recipients: {$elemMatch: userID} })
.sort({unRead: {$elemMatch: userID}})
.limit(20)
लेकिन वह काम नहीं करता। परिणामों को प्राथमिकता देने का सबसे अच्छा तरीका क्या है कि वे एक निश्चित मानदंड के अनुरूप हैं या नहीं?
यह पूरी तरह से काम किया। धन्यवाद! एकमात्र टिप्पणी जो मैं करूँगा वह यह है कि मोंगो ने एक त्रुटि फेंक दी जब तक कि मैंने $ setIsSubSet को $ setIsSubset में बदल दिया। – beatniknight
@beatniknight विशिष्ट मुझे। प्रलेखन लिंक सही था लेकिन मेरा ऊंट का मस्तिष्क यह कहता रहता है कि यह दो शब्द है और इसे इस तरह टाइप करना जारी रखता है। –