Electron应用程序建于2年前,它使您可以在设定的时间与个人进行 Activity (例如创建约会/ session )。
该应用程序是使用以下内容构建的:
当添加新 Activity 时,该应用程序运行正常,而不是实时运行,因此需要导航到其他“页面”或刷新以引入新数据。
我决定使用新技术对应用程序进行重做,并希望使其更像一个“实时”应用程序。
这就是graphql(从没经验过)和mongodb(以前使用过)的地方。
至于php脚本,我将只用expressjs替换后端。
前端是使用Polymer构建的,有一个称为的组件,它代表ajax调用。这是我目前的电话。
<iron-ajax
id="getPost"
auto
url="http://blitz.com/Activity/getActivity.php" <!--getName.php--> etc...
handle-as="json"
on-response="handleResponse"
last-response="{{activityResponse}}">
</iron-ajax>
我相信如果可以将其“实现”到GraphQL调用中,那么我将能够了解到更多有关GraphQL如何工作以及如何实现的信息。另外,对于GraphQL,如果我确实需要托管应用程序,则在将应用程序置于在线状态时,它将托管在何处?根据我的理解,GraphQL与其余部分非常相似。
目前,数据库分为几个表,如果我对应用程序有更多的想法,数据库将继续增加表的数量,但是目前它仅是USERS表,ACTIVITIES表,POSTS表。
线下的其他功能将类似于登录功能,如果添加新表是正确的调用,或者我将使用类似Google登录的功能,则需要弄清楚该功能。
如果我要使用mongodb,因为它是非关系数据库。什么是此应用程序的最佳实践?
我是否只有1个数据库和1个集合来处理所有信息?
假设收集基于以下信息
{
id: 1,
host_name:"bob",
guest_name:"bill",
activity:"basketball",
time:"12:12:12 01/01/01",
answer:"accepted"
}
由于这是一个 Electron 应用程序,因此我可以将所有内容 bundle 到一个应用程序中,并仅托管后端和数据库本身,即express + mongodb。
最佳答案
可能您需要尝试GraphQL Subcriptions。
对于Mongodb,请将其保持为无关系模式,以使其易于访问。 Source
关于node.js - Electron 应用程序利用GraphQL和MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61494197/