2

我使用 AngularJS 和 JSON 已经有一段时间了,我目前正在编写一个简单的 todo 应用程序,它使用以下数组来存储它的 todos:

$scope.todos = [    

    // todo 1
    {
        title:  'Personal',
        status: 'todo',
        // categories for todo 1
        categories: [
            {
                title:  'Shopping', 
                status: 'doing',
                // items for category 1, todo 1
                items: [
                    {
                        title:  'Buy bacon',
                        status: 'complete',
                    },
                    {
                        title:  'Buy tuna',
                        status: 'doing',
                    },
                ], // / items
            },
        ], // /categories
    },
]; // todos

到目前为止,一切顺利。现在我不确定如何实际永久存储这些数据。如果我使用我的应用程序添加或修改待办事项,一切都很好,直到我关闭浏览器窗口并且它都恢复到默认值(显然)。

直到现在,我一直在使用 MySQL 数据库来存储关系数据。但我想知道是否有更好的方法来存储这个 json 数据?

我正在考虑创建一个简单的 php 页面,并将整个数组保存到一个文本文件中。但这意味着每次我对数据进行最微小的更改时都要重写整个文件。

我听说有可用的数据库允许您存储此类数据,但我不知道从哪里开始?任何指针将不胜感激。

4

2 回答 2

2

我建议使用像restangular这样的框架来定义你的关系,然后你将能够使用各种具有 RESTfull JSON API 的 noSQL 数据库,例如 couchdb 或 mongodb 等。它使用的 Promise 是很好的未来证明和现代的,它还支持您可能需要的所有 HTTP 方法,但它具有更多功能,请查看 repo 的自述文件

这也是一个使用mongolabs, mongodb 有缺陷的云服务的演示。

希望能帮助到你。

于 2013-07-07T11:54:10.420 回答
2

没有什么能阻止您将其保存在像 MySQL 这样的关系数据库中,您可以拥有像 Todo、Category 和 Item 这样的实体,然后序列化为 JSON 并以 RESTful 方式提供它们。

我认为您正在寻找的是 NoSQL 数据库。它们可以本地存储 JSON 数据,并且可以存储数据块,而不仅仅是像传统关系数据库那样的数据行。

两个流行的 NoSQL 数据库是

于 2013-07-07T11:56:43.943 回答