Hướng dẫn mongodb social media feed - nguồn cấp dữ liệu truyền thông xã hội mongodb

Tôi hiện đang phát triển một ứng dụng truyền thông xã hội với MongoDB và tôi đã rất mắc kẹt trên một cách hiệu quả để cấu trúc các nguồn cấp dữ liệu truyền thông xã hội của người dùng cá nhân, được sắp xếp theo gần đây nhất. Dưới đây là các cấu trúc có liên quan (cả hai đều tham khảo một bộ sưu tập người dùng được hiển thị ở đây).

người theo dõi

{
    _id: 
    user_id: 
    following_id: 
    timestamp: 
    status: 
}

Bài viết

{
    _id: 
    creator_id: 
    content: 
    ...
}

Giải pháp hiện tại của tôi (mà tôi biết là tối ưu), là chạy một đường ống tổng hợp bao gồm hai giai đoạn: đối với mỗi bài đăng $lookup tất cả những người theo dõi của người tạo, sau đó $match các mối quan hệ có liên quan cho người dùng xem. Điều này có vẻ rất không hiệu quả, vì về cơ bản tôi sẽ phải làm $lookup trên mỗi bài đăng.

Tôi đã đọc các giải pháp về việc có một người hâm mộ trên mạng, trong đó người dùng có một dòng thời gian của các loại và khi người dùng họ theo dõi tạo một bài đăng, nó sẽ được đẩy vào dòng thời gian của họ. Dòng thời gian sẽ được giới hạn để không tràn kích thước tài liệu. Đây có vẻ như là một khả năng tốt, nhưng tôi rất bối rối về hậu cần:

  • Nếu người dùng cuộn qua toàn bộ dòng thời gian của họ, tôi có nên chạy đường ống không hiệu quả của mình để điền vào nó với các bài viết mới không?
  • Kích thước của dòng thời gian có nên mở rộng để hỗ trợ người dùng cuộn rất xa trên nguồn cấp dữ liệu của họ không?
  • Nếu người dùng quyết định theo dõi một người mới và họ có các bài đăng gần đây, tôi có nên lấy bài đăng của họ và cẩn thận chèn họ vào dòng thời gian của người dùng để nó vẫn theo thứ tự thời gian không?

Dữ liệu được cấu trúc theo cách mà người dùng với hàng triệu người theo dõi vẫn sẽ duy trì hiệu quả. Thật dễ dàng để truy vấn người dùng theo dõi/theo dõi. Nhưng tôi vẫn không chắc chắn, có một cách hoàn toàn khác tôi nên cấu trúc dữ liệu này không?

Đây có vẻ như là một vấn đề mà tôi chắc chắn rằng nhiều người khác đã gặp phải, nhưng tôi đã đấu tranh để tìm câu trả lời cho một số câu hỏi này. Lời khuyên nào cũng sẽ được đánh giá cao.

Các hình thức giao tiếp Internet mới đang phát triển khi người dùng thử nghiệm và tìm ra những cách mới để tương tác. Những đổi mới mới bao gồm & nbsp; blog, & nbsp; RSS Feed và & NBSP; podcast. .blogsRSS Feeds, and podcasts. .

Nội phân Chính showShow

  • Những loại tương tác là phương tiện truyền thông xã hội?
  • Các trang web mạng xã hội như Facebook, Twitter và Instagram là những ví dụ về phương tiện tương tác. Các trang web này sử dụng đồ họa và văn bản để cho phép người dùng chia sẻ ảnh và thông tin về bản thân, trò chuyện và chơi trò chơi. Trò chơi video là một loại phương tiện tương tác khác.
  • Phương tiện truyền thông xã hội có phải là một công nghệ tương tác?
  • Internet có tương tác không?

Blog

Một blog là một trang web cho phép một tác giả web đơn giản và dễ dàng chia sẻ suy nghĩ và ý tưởng với người dùng web khác. Blog từ đến từ weblog, trong đó đề cập đến một bản ghi các bài đăng ngày của một tác giả hoặc nhóm tác giả cụ thể. Blog có thể bao gồm bất kỳ chủ đề nào hoặc chỉ có thể là ai đó hàng ngày, hàng tuần hoặc nhật ký thường xuyên về suy nghĩ và ý kiến. Blog có thể tương tác khi người đọc thêm nhận xét và một cuộc thảo luận được tạo ra. Nhiều blog là chủ đề cụ thể, chẳng hạn như Blog Scoutus & NBSP; hoặc Smitten Kitchen. & NBSP; Bạn có thể tìm thấy blog về hầu hết mọi chủ đề.

Bạn cũng có thể, tạo blog của riêng bạn. Có nhiều chương trình phần mềm và các dịch vụ lưu trữ blog dựa trên web, một số trong số đó là miễn phí, chẳng hạn như & nbsp; blogger & nbsp; và & nbsp; wordpress. & NBSP; Blog được tạo bằng hệ thống quản lý nội dung đơn giản sử dụng, cung cấp các tính năng như tổ chức các bài đăng thành danh mục, xem lịch đăng bài, đăng được bảo vệ mật khẩu, tải lên tệp và kiểm duyệt nhận xét. & nbsp; Nếu bạn quyết định phát triển blog của riêng mình, hãy nhớ rằng thông tin bạn đăng có thể được xem trong một thời gian dài bởi bất kỳ ai, kể cả các nhà tuyển dụng trong tương lai.

Twitter & nbsp; là một ví dụ về dịch vụ của Microblogging, bởi vì nó cho phép người dùng chia sẻ (hoặc tweet tweet), nhưng giới hạn chúng ở mức 140 ký tự mỗi tweet. Mặc dù & nbsp; Tumblr & nbsp; không áp đặt các giới hạn nghiêm ngặt như vậy, nhưng nó cũng được coi là một nền tảng vi mô vì người dùng có xu hướng ngắn gọn khi đăng nội dung lên blog Tumblr của họ. Tuy nhiên, một số người sử dụng các blog Tumblr làm blog "Định dạng đầy đủ", và đăng ý kiến, & nbsp; phê bình và bài viết hình thức dài hơn. & NBSP;

Nguồn cấp dữ liệu RSS

RSS là từ viết tắt của một số cụm từ; Phổ biến nhất là sự cung cấp thực sự đơn giản, nhưng đôi khi nó được gọi là tóm tắt trang web phong phú hoặc tóm tắt trang web RDF. Nguồn cấp dữ liệu RSS cho phép bạn theo dõi nội dung mới trên trang web hoặc blog hoặc theo kịp những câu chuyện tin tức mới nhất. Một trình đọc hoặc trình duyệt RSS là bắt buộc để bạn đọc các tiêu đề hoặc cập nhật.

Ví dụ: giả sử có mười blog mà bạn quan tâm đến việc đọc một cách thường xuyên. & Nbsp; sẽ mất rất nhiều thời gian để bạn kiểm tra riêng từng blog để xem bất cứ điều gì mới đã được đăng. & NBSP; Thuận tiện để đăng ký vào nguồn cấp dữ liệu RSS của mỗi blog. & NBSP; Sau đó, nội dung mới sẽ tự động được gửi cho trình đọc RSS của bạn, cung cấp cho bạn một cửa hàng một cửa nơi bạn có thể theo dõi tất cả các blog mà bạn đăng ký.

Có một số loại độc giả và một số cách bạn có thể truy cập nguồn cấp RSS:

  1. Bộ tổng hợp RSS hoặc trình đọc là một chương trình phần mềm đặc biệt được cài đặt trên máy tính của bạn. Nó cung cấp một cửa sổ trên màn hình máy tính của bạn để mỗi lần trang web mà bạn đăng ký được cập nhật, nó sẽ hiển thị một tiêu đề (được gọi là nguồn cấp tin tức) và tóm tắt ngắn hoặc trừu tượng về nội dung mới. & nbsp; nếu tiêu đề được quan tâm, bạn có thể theo một liên kết đến trang web. & nbsp; nếu bạn không quan tâm, bạn chỉ cần xóa tiêu đề. & nbsp; một bản cập nhật được gửi cho công cụ tổng hợp của bạn mỗi khi nội dung mới được thêm vào.
  2. Một số trình duyệt, chẳng hạn như & nbsp; opera, & nbsp; firefox và & nbsp; Safari, có khả năng RSS tích hợp.
  3. Độc giả dựa trên web, chẳng hạn như & nbsp; BlogLines & nbsp; hoặc Feedly, & nbsp; cho phép bạn kiểm tra nguồn cấp dữ liệu của bạn với trình duyệt web của bạn.
  4. Ứng dụng là & nbsp; có sẵn để bạn có thể xem nguồn cấp RSS trên thiết bị di động của mình.
  5. Bạn cũng có thể đăng ký các dịch vụ cung cấp các tiêu đề và cập nhật đến địa chỉ e-mail của bạn. & NBSP;

Các trang web có nguồn cấp dữ liệu RSS thường chỉ ra nguồn cấp dữ liệu RSS của chúng với một trong các biểu tượng sau:

Một số trang web cũng cung cấp một lựa chọn các con gà con, các biểu tượng hoặc các biểu tượng liên quan đến độc giả RSS cụ thể (xem các ví dụ của CNN bên dưới). Để đăng ký vào nguồn cấp dữ liệu, bạn sẽ nhấp vào Chicklet tương ứng với trình đọc RSS bạn sử dụng. Giống như CNN, một số trang web tin tức lớn hơn cho phép bạn chọn chỉ đăng ký vào một tập hợp con của nguồn cấp dữ liệu của họ, vì vậy bạn chỉ nhận được thông tin sẽ hữu ích cho bạn. & Nbsp; & nbsp; 

Có nhiều trang web khác cung cấp quyền truy cập vào các nguồn cấp dữ liệu, chẳng hạn như & nbsp; newsisfree, & nbsp; syndic8, và & nbsp; feedroll.

Nếu bạn có trang web của riêng mình và muốn cho phép người đọc đăng ký nội dung của bạn thông qua nguồn cấp dữ liệu RSS, bạn có thể sử dụng trang web của bạn bằng cách sử dụng các dịch vụ như & NBSP; FeedBurner. Nếu bạn có blog của riêng mình, việc cung cấp thường tự động xảy ra, vì vậy không cần thiết phải đốt nguồn cấp dữ liệu của riêng bạn.

Video này cung cấp một cái nhìn tổng quan về cách thức ăn RSS hoạt động: & NBSP; provides an overview of how RSS feeds work: 

Càng ngày, người dùng web đang thấy rằng các trang web truyền thông xã hội như & nbsp; Twitter & nbsp; có thể được sử dụng thay cho độc giả RSS. Nội dung mới.

Podcasting

& nbsp; podcast là một loạt các tệp máy tính, thường ở định dạng âm thanh hoặc video, mà người dùng có thể đăng ký thông qua nguồn cấp dữ liệu RSS. Thay vì phải nhớ điều chỉnh vào một thời điểm cụ thể để nghe hoặc xem chương trình yêu thích của bạn, một podcast là một chương trình mà bạn có thể đăng ký và mỗi tập tự động gửi cho máy tính của bạn. & NBSP; một công cụ tổng hợp RSS hỗ trợ đa phương tiện . cũng có một ứng dụng di động cho điện thoại thông minh và máy tính bảng. & nbsp; iTunes cũng là một nơi tốt để tìm kiếm các podcast có thể được bạn quan tâm. & nbsp; Bạn cũng có thể tìm thấy nhiều thư mục podcast trên web, bao gồm & nbsp; Digital Podcast & NBSP; và & NBSP; Podcast Alley. & NBSP; Như với blog, có podcast về hầu hết mọi chủ đề có thể hiểu được. & NBSP;

Bất cứ ai cũng có thể bắt đầu podcast của riêng mình. & NBSP; Để tạo một podcast âm thanh, bạn sẽ cần một micrô, máy tính và một số loại phần mềm ghi âm như & nbsp; garageBand & nbsp; (một ứng dụng cho máy tính MAC và iPhone), hoặc & nbsp; (Có sẵn miễn phí trên web cho Windows, Mac và các hệ điều hành khác). Các dịch vụ, chẳng hạn như & nbsp; iTunes & nbsp; và & nbsp; podbean, sẽ hoàn thành cả hai bước này. .

Có những ý kiến ​​khác nhau về nguồn gốc của từ podcast. Theo yêu cầu, di động theo yêu cầu, cá nhân hoặc cá nhân theo yêu cầu. & nbsp; Điều quan trọng cần lưu ý là bạn thực hiện & nbsp; không phải & nbsp; phải có iPod để nhận hoặc tạo podcast. Tuy nhiên, podcast có thể được tải xuống iPod và các thiết bị di động khác để nghe khi đang di chuyển.

& nbsp; được cấp phép theo & nbsp; Creative Commons Attribution Share As 3.0 Giấy phépLicensed under the Creative Commons Attribution Share Alike 3.0 License

Những loại tương tác là phương tiện truyền thông xã hội?

Các trang web mạng xã hội như Facebook, Twitter và Instagram là những ví dụ về phương tiện tương tác. Các trang web này sử dụng đồ họa và văn bản để cho phép người dùng chia sẻ ảnh và thông tin về bản thân, trò chuyện và chơi trò chơi. Trò chơi video là một loại phương tiện tương tác khác.interactive media. These sites use graphics and text to allow users to share photos and information about themselves, chat, and play games. Video games are another type of interactive media.

Điều nào sau đây là chương trình máy tính cho phép người dùng tương tác, tạo và chia sẻ dữ liệu trực tuyến? Phần mềm xã hội.Social software.

Phương tiện truyền thông xã hội có phải là một công nghệ tương tác?

Phương tiện truyền thông xã hội là các công nghệ tương tác tạo điều kiện cho việc tạo và chia sẻ thông tin, ý tưởng, sở thích và các hình thức biểu hiện khác thông qua các cộng đồng và mạng ảo. that facilitate the creation and sharing of information, ideas, interests, and other forms of expression through virtual communities and networks.

Internet có tương tác không?

Nghiên cứu xác nhận rằng Internet và World Wide Web chủ yếu có thể được đặc trưng là sự khởi tạo của sự tương tác gần như qua trung gian thay vì tương tác qua trung gian.instantiations of mediated quasi-interaction rather than of mediated interaction.