मुझे उन तत्वों के लिए मोंगो डेटाबेस से पूछताछ करने की आवश्यकता है जिनके पास सूची में किसी भी उपसर्ग के साथ शुरू होने वाली एक निश्चित संपत्ति है। अब मैं इस तरह कोड का एक टुकड़ा है:सूची में निर्दिष्ट उपसर्गों से शुरू होने वाली प्रॉपर्टी वाले गुणों के लिए मोंगोइंजिन क्वेरी सूची
query = mymodel(terms__term__in=query_terms)
और इस वस्तुओं एक सूची "शब्द" है कि StringField "शब्द" पर एक आइटम है कि स्पष्ट रूप से एक सूची "QUERY_TERMS" पर होने वाली मेल खाता है। मैं जो हासिल करना चाहता हूं वह ऐसी ऑब्जेक्ट्स है जिसमें एक सूची "शर्तों" पर एक आइटम है जिसमें स्ट्रिंगफ़िल्ल्ड "टर्म" है जो किसी भी उपसर्ग के साथ शुरू होता है जो "query_terms" सूची में होता है। क्या यह एक प्रश्न में और डाटाबेस में "टर्म" के हर संभव उपसर्ग को संग्रहीत किए बिना करना संभव है? संपादित करें: नीचे समाधान बहुत अच्छा काम करता है लेकिन अब मुझे सूची में प्रत्येक उपसर्ग से शुरू होने वाली शर्तों के साथ वस्तुओं को ढूंढना होगा। मैं
query = reduce(lambda q1, q2: q1.__and__(q2),
map(lambda prefix: Q(terms__term__startswith=prefix)))
को
query = reduce(lambda q1, q2: q1.__or__(q2),
map(lambda prefix: Q(terms__term__startswith=prefix)))
बदल लेकिन यह काम नहीं करता। मुझे निम्न त्रुटि मिल रही है:
कोई विचार?
धन्यवाद, यह आसान से मैंने सोचा है और बहुत अच्छा काम करता है! –
धन्यवाद @min मैंने आपका संपादन जोड़ा है। –