npm के माध्यम से इंस्टाल करना आसान है, बस:
npm install mongoose-friends --save
मुझे MEAN.JS के साथ कोई अनुभव नहीं है, लेकिन ऐसा लगता है कि अधिकांश भाग के लिए सीआरयूडी-पैटर्न वाले कोणीय/एक्सप्रेस ऐप बनाने के लिए जेनरेटर का संग्रह होता है। ऐसा लगता है कि यह सीआरयूडी संसाधन के रूप में दोस्ती बनाने के लिए ढांचे के दर्शन का पालन करता है।
yo
. का उपयोग करना जैसा कि वे सुझाव देते हैं:
yo meanjs:crud-module friendship
यह एक मैत्री मॉडल के लिए एमवीसी उत्पन्न करेगा, लेकिन मॉडल के बारे में कुछ गलत धारणाएं बनाएगा, अर्थात् यह एक प्रथम श्रेणी नेवला मॉडल है। इस प्लगइन के साथ, यह नहीं है। बल्कि दोस्ती उपयोगकर्ता रिकॉर्ड पर एक एम्बेडेड संग्रह का हिस्सा है, प्लगइन उनके लिए सीआरयूडी विधियां प्रदान करता है।
सबसे पहले, प्लगइन को अपने उपयोगकर्ता मॉडल में जोड़ें।
// in app/models/user.server.model.js
var friends = require("mongoose-friends");
// ...
UserSchema.plugin(friends());
app/models/friendship
. पर जेनरेट किया गया मॉडल , और जेनरेट की गई फ़ाइलों में इसके संदर्भों को हटाना होगा। Friendship
. के बजाय मॉडल, मित्रता को आपके User
में जोड़े गए प्लगइन विधियों के माध्यम से CRUD'd किया जाएगा मॉडल।
app/controllers/friendships.server.controller.js
. पर जेनरेट किया गया कंट्रोलर संभवतः सबसे अधिक परिवर्तन की आवश्यकता होगी।
create
, उदाहरण के लिए इससे बदल जाएगा:
var friendship = new Friendship(req.body);
friendship.user = req.user;
friendship.save(callback);
कुछ और पसंद करने के लिए:
req.user.requestFriend(req.body.user, callback);
आपका एप्लिकेशन मैत्री का उपयोग कैसे करता है, इसके आधार पर मार्गों को भी बदलना पड़ सकता है। प्लगइन की मित्रता प्रथम श्रेणी का संसाधन नहीं है, बल्कि उपयोगकर्ता का एक एम्बेडेड संग्रह है। जैसे कोई सार्वजनिक /friendships
नहीं है मार्ग, उदाहरण के लिए। या तो उस मार्ग को केवल लॉग इन उपयोगकर्ता मित्रों को वापस करने की आवश्यकता होगी, या आप उपयोगकर्ता के लिए विशिष्ट मित्रता मार्ग को मैप करना चाहेंगे, उदा। /users/ID/friendships
, उस मामले में जहां किसी उपयोगकर्ता की मित्रता उपयोगकर्ता के अलावा अन्य लोगों द्वारा देखी जा सकती है।
वैसे भी, इसमें कोई संदेह नहीं है कि यह पूरी तरह से अधूरा है और शायद गुमराह भी, लेकिन मुझे आशा है कि यह आपको कार्यान्वयन पर आरंभ करने के लिए पर्याप्त है।