मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां मोंगोडीबी मॉडल फेसबुक के समान होगा। तो हम सभी जानते हैं कि एफबी कैसे काम करता है, उपयोगकर्ता एक बैंड/कंपनी पेज "पसंद करता है", और वह उपयोगकर्ता उस पृष्ठ से सभी पोस्ट देखेगा।सी # मोंगोडब मॉडल फेसबुक की तरह
क्या नीचे मॉडल है कि मुझे इसे कैसे डिजाइन करना चाहिए? यदि पृष्ठ में लाखों पसंद हैं, तो प्रत्येक पोस्ट में के लाखों उप दस्तावेज़ होंगे की तरह। यह सही प्रतीत नहीं होता है, एक बेहतर तरीका होना चाहिए जिसके बारे में मैं सोच नहीं सकता।
धन्यवाद।
public class Person
{
public ObjectId Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Page
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public List<Like> PersonLikes { get; set; }
}
public class Like
{
public ObjectId Id { get; set; }
public ObjectId UserId { get; set; }
public DateTime DateLiked { get; set; }
}
public class Post
{
public ObjectId Id { get; set; }
public ObjectId PageId { get; set; }
public string Message { get; set; }
public List<Like> PersonLikes { get; set; }
}
क्या किसी के पास कोई सुझाव है? – Curtis
अच्छा सवाल, तथ्य यह है कि चीजें वायरल जा सकती हैं। मेरे पास शायद इसके बजाय एक काउंटर होगा और उसके बाद एक और संग्रह होगा जहां वास्तविक जानकारी की जानकारी संग्रहीत की जाती है। क्या वे सिंक से बाहर हो सकते हैं? बेशक, कोई लेनदेन नहीं है, लेकिन फिर आपको सटीक होने की आवश्यकता है? –
**> यह सही प्रतीत नहीं होता है, एक बेहतर तरीका होना चाहिए जिसके बारे में मैं सोच नहीं सकता। ** सबसे पहले - हाँ, यह सही नहीं है। और MongoDB निश्चित रूप से इस समाधान के लिए डेटाबेस नहीं है, आप इस स्कीमा के लिए SQL डेटाबेस के साथ बेहतर हैं। इस समाधान के लिए सही डीबी ग्राफ-डीबी होगा जैसे neo4j – sed