持久化json数组数据

时间:2013-07-07 11:47:06

标签: json angularjs

我一直在使用AngularJS和JSON一段时间了,我现在正在编写一个简单的todo应用程序,它使用以下数组来存储它的待办事项:

$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页面,将整个数组保存到文本文件中。但这意味着每次我对数据进行最微小的更改时都会重写整个文件。

我听说有数据库可以存储这类数据,但我不知道从哪里开始?任何指针都会非常感激。

2 个答案:

答案 0 :(得分:2)

我建议使用类似restangular的框架来定义你的关系,然后你就可以使用各种具有RESTfull JSON API的noSQL数据库,比如couchdb或mongodb等。 它使用了很好的未来证明和现代的promises,它也支持你可能需要的所有HTTP方法,但它有更多的功能,看看repo的readme

这里还有一个使用demo mongodb瑕疵云服务的mongolabs

希望它有所帮助。

答案 1 :(得分:2)

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

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

两个流行的NoSQL数据库