जो मैं करने की कोशिश कर रहा हूं वह मेटाडेटा के क्षेत्र से पूछताछ करके ग्रिडएफएस फाइलों की एक सूची ला रहा है। उदाहरण के लिए मैं एक GridFS फ़ाइल दस्तावेज़ मिल की तरह लग रही:मोंगोडीबी ग्रिडएफएस मेटाडाटा (जावा) पर प्रश्न
{ "_id" : { "$oid" : "4f95475f5ef4fb269dbac954"} , "chunkSize" : 262144 , "length" : 3077 , "md5" : "f24ea7ac05c5032f08808c6faabf413b" , "filename" : "file_xyz.txt" , "contentType" : null , "uploadDate" : { "$date" : "2012-04-23T12:13:19.606Z"} , "aliases" : null , "metadata" : { "target_field" : "abcdefg"}}
और मैं युक्त "target_field" = "abcdefg" सभी फाइलों क्वेरी करना चाहते हैं। मैंने अपनी क्वेरी निम्नानुसार बनाई:
BasicDBObject query = new BasicDBObject("metadata", new BasicDBObject("target_field", "abcdefg"));
// gridFS Object Initialization skipped
List<GridFSDBFile> files = gridFs.find(query);
सूची हमेशा खाली है। अन्यथा फ़ाइल नाम या uploadDate पूछताछ पूरी तरह से काम करता है। क्या नेस्टेड विशेषताओं द्वारा ग्रिडएफएस फाइलों को प्राप्त करना संभव नहीं है?
यह संभवतः आप कुछ गलत वर्तनी हो सकता है? यह मेरी मशीन पर ठीक काम करता है। मैं जावा ड्राइवर के लिए mongod 2.0.4 और v2.7.3 का उपयोग कर रहा हूँ। – Ren