मेरा प्रश्न बुनियादी है लेकिन मुझे दस्तावेज़ीकरण में उत्तर नहीं मिल रहा है। मेरे पास दो मॉडल हैं: 'व्यक्ति' और 'स्थान' एक-से-एक जुड़े हुए हैं। मैं स्थान संग्रह में 'आबादी वाले चाइल्ड रिकॉर्ड' बनाना या अपडेट करना चाहता हूं।

 let person = await Person.findOne({ phone: inputs.phone }).populate('reside');

अच्छा वापसी

{ reside: [],
createdAt: 1540081110195,
updatedAt: 1540331824622,
id: '5bcbc5d609618e2cfbe64883',
phone: '+42424242',}

मैं नया स्थान रिकॉर्ड बनाना चाहता हूं (जब वे मौजूद नहीं हैं) या यदि वे मौजूद हैं तो अपडेट करें। मैं कोशिश करता हूं

let location = await Location.update({ id: person.reside.id })
.set({city: inputs.city,
    street: inputs.street,
  }).fetch;

लेकिन यह तब काम नहीं करता जब अभी तक कोई रिकॉर्ड नहीं बनाया गया है।

मॉडल/व्यक्ति.जेएस

phone: {
  type: 'string',
  unique: true,
},
reside: {
  collection:'location',
  via: 'owner'
},

मॉडल/Location.js

city: { type: 'string' },
street: { type: 'string' },
owner:{
  model:'person',
  unique: true
}

मैं एक्शन 2 का उपयोग करता हूं

0
Kenn 26 अक्टूबर 2018, 20:44

1 उत्तर

सबसे बढ़िया उत्तर

आखिरकार मुझे यहां तरीके .addToCollection(), .removeFromCollection(), या .replaceCollection() किसी खास रिकॉर्ड या रिकॉर्ड के सेट के पॉप्युलेट किए गए मानों को संशोधित करने के लिए। इसके बारे में बात करने के लिए यह डॉक्टर में सबसे उपयुक्त जगह नहीं लगती

0
Kenn 27 अक्टूबर 2018, 10:06