Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从电子表格转到MongoDB ddatabase(导出和模型)_Mongodb_Model - Fatal编程技术网

如何从电子表格转到MongoDB ddatabase(导出和模型)

如何从电子表格转到MongoDB ddatabase(导出和模型),mongodb,model,Mongodb,Model,我正在启动一个新项目,我想尝试一下mongodb。在过去的几年里,我读了很多关于它的书,终于有了一个项目要开始了 虽然我读了很多书,但我仍然有点难以完全理解模型。我希望能得到一些帮助 在我的项目的基础上,我有产品,我以电子表格的形式得到它们。这就是它的样子: 有更多的品牌、类别和类型 现在我在想类似的事情,我将如何建模mysql数据库: brands = { id : ..., name : ..., } categories = { id : ..., br

我正在启动一个新项目,我想尝试一下mongodb。在过去的几年里,我读了很多关于它的书,终于有了一个项目要开始了

虽然我读了很多书,但我仍然有点难以完全理解模型。我希望能得到一些帮助

在我的项目的基础上,我有产品,我以电子表格的形式得到它们。这就是它的样子:

有更多的品牌、类别和类型

现在我在想类似的事情,我将如何建模mysql数据库:

brands = {
    id : ...,
    name : ...,
}

categories = {
    id : ...,
    brand_id : ...,
    name : ...
}

types = {
    id : ...,
    category_id : ...,
    name : ...
}

products = {
    id : ...,
    type_id : ...,
    code : ...,
    unit : ...,
    name : ...,
    price : ...
}
正确的模式? 我想知道这是否是最好的建模方法。最终,DB将通过订单、库存等进行扩展

如何出口?
另一个问题是如何将其导出到mongodb。我已经设置了服务器,并且设置了一个类似phpmysql的接口。我还没有找到任何好的导入/导出方法。

我认为您犯的一个错误是尝试将数据标准化。Mongodb完全是关于非规范化数据的,因此连接是不必要的。

我建议查看Google Docs电子表格和Mongodb。由于他们的编程API是Javascript/JSON,我建议尝试一下

您可以为MongoDB编写简单的包装器API,直接公开JSON数据。然后将其导入谷歌文档非常简单。看看蒙古拉布公司是如何做到这一点的:

以下站点提供了一系列REST API接口:

以下是在Google Docs电子表格中使用Google脚本的简单代码:

函数readRows(){
var sheet=SpreadsheetApp.getActiveSheet();
//质疑
变量q={
“字段”:“值”
};
var qStr=encodeURIComponent(JSON.stringify(q));
变量url=”https://api.mongolab.com/api/1/databases/xxxx/collections/eeeee?q=“+qStr+”&s=&f=&view=json&apiKey=ABABABABAB”;
var jsondata=UrlFetchApp.fetch(url);
var object=JSON.parse(jsondata.getContentText());
var-outArr=[];
对于(变量i=0;i
我刚刚发表了一篇关于如何实现这种集成的文章。本文将引导您创建一个简单的Google应用程序脚本,该脚本使用MongoDB Stitch通过JSON对象将数据导出到MongoDB数据库。博客文章中有github回购和GIST的链接。希望这能有所帮助。

那么,我会像在电子表格中一样将所有文章作为一行存储吗?这是否会使添加/更改品牌和类别时难以管理。是的,是的。您可以选择进行单独的收集,例如,我可能会将订单与产品单独收集。如果你重新命名了一个品牌或其他东西,你可能会使用mingos map reduce进行批量更新