2016-10-25 11 views
7

ढूंढें और बनाएं I userid, और सरणी ऑब्जेक्ट को प्राप्त करने का प्रयास कर रहा है जिसमें स्थानों के भीतर विशिष्ट स्थान है।मोंगोस बहुआयामी सरणी

क्या मैं करना चाहते है निम्नलिखित:

क्वेरी सरणी स्थान के परिणाम वापस आ जाएगी।

यदि उपयोगकर्ता बिल्कुल मौजूद नहीं है, तो इसे बनाएं, फिर मिलान स्थान की सरणी वापस करें।

यदि स्थान आईडी संख्या नहीं है। एक नया बनाएं, फिर मिलान करने वाले स्थान की सरणी वापस करें।

मैं इसे कैसे पूरा कर सकता हूं?

वर्तमान क्वेरी:

easyCrime.findOne({ 
     userid: userid, 
     "locations.location": location 
    }, {"locations.$.location": 1}).then(function (err, stats) { 


     } 

    }); 

मॉडल:

userid: { 
     type: String, 
     default: '57c1c0f3b6b20c011242bf22' 
    }, 
    locations: [ 
     { 
      userid: { 
       type: String, 
       default: '57c1c0f3b6b20c011242bf22' 
      }, 
      location: { 
       type: Number, 
       default: 1 
      }, 
      easycrime: [ 
       { 
        optioname : { 
         type: String, 
         default: 'unknown' 
        }, 
        chance: { 
         type: Number, 
         default: 500 
        } 
       } 
      ], 
      heavycrime: [ 
       { 
        optioname : { 
         type: String, 
         default: 'unknown' 
        }, 
        chance: { 
         type: Number, 
         default: 500 
        } 
       } 
      ], 


     } 
    ], 

    timesteal: { 
     type:Number, 
     default: 0 
    } 
+0

क्षमा करें, मुझे समझ में नहीं आया कि आप क्या करने की कोशिश कर रहे हैं। यदि आप प्रश्नों और अपेक्षित परिणामों के उदाहरण जोड़ सकते हैं, तो यह सहायक होगा – TomG

उत्तर

1

मुझे लगता है easyCrime मॉडल है कि, कारण एक दस्तावेज़ में findOne प्रश्न के रूप में ऐसी कोई बात नहीं है। यदि यह मॉडल है तो कृपया इसे EasyCrime नाम दें।



मुझे आपके प्रश्न की व्याख्या करने में वास्तव में कठिन समय था। जो मैं समझता हूं उस पर आधार, यह आपका समाधान है

संबंधित मुद्दे