Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/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 基于Mongo的数据建模_Mongodb_Nosql - Fatal编程技术网

Mongodb 基于Mongo的数据建模

Mongodb 基于Mongo的数据建模,mongodb,nosql,Mongodb,Nosql,一个简单的问题,想知道MongoDB中的最佳解决方案: 在SQL(RDBMS)环境中,我们有两个表—客户和产品 因此,对于本报告,我们只需编写适当的查询: 报告:给出去年购买索尼产品的前十名客户 查询: MongoDB的最佳方法是什么 我认为,对于这样的事情,最好的方法是将所有必要的数据直接保存到客户收集中,其结构类似于: { _id: <ObjectId1>, "customer_name": "XYZ", "orders": [ {

一个简单的问题,想知道MongoDB中的最佳解决方案:

在SQL(RDBMS)环境中,我们有两个表—客户和产品 因此,对于本报告,我们只需编写适当的查询: 报告:给出去年购买索尼产品的前十名客户 查询:


MongoDB的最佳方法是什么

我认为,对于这样的事情,最好的方法是将所有必要的数据直接保存到客户收集中,其结构类似于:

{
    _id: <ObjectId1>,
    "customer_name": "XYZ",
    "orders": [
        {
            "id": 12345,
            "date": "2014",
            "items": [
                {
                    "id": 1,
                    "manufacturer": "SONY",
                    "product": "WALKMAN NWZ-W273L",
                    "color": "blue"
                },
                {
                    "id": 2,
                    "manufacturer": "SONY",
                    "product": "VAIO XYZ",
                    "color": "silver"
                }
            ]
        }
    ]
}
{
_id:,
“客户名称”:“XYZ”,
“命令”:[
{
“id”:12345,
“日期”:“2014年”,
“项目”:[
{
“id”:1,
“制造商”:“索尼”,
“产品”:“随身听NWZ-W273L”,
“颜色”:“蓝色”
},
{
“id”:2,
“制造商”:“索尼”,
“产品”:“VAIO XYZ”,
“颜色”:“银色”
}
]
}
]
}

因此,在这种情况下,我们没有独立的产品文档,我的意思是,我们将有大量重复的产品,这是多余的,而不是标准化,这正是我想问的,如果有大量重复的产品,您也可以使用。这取决于您的应用程序特征、您应该如何使用我们的客户集合以及该集合的读取性能。
{
    _id: <ObjectId1>,
    "customer_name": "XYZ",
    "orders": [
        {
            "id": 12345,
            "date": "2014",
            "items": [
                {
                    "id": 1,
                    "manufacturer": "SONY",
                    "product": "WALKMAN NWZ-W273L",
                    "color": "blue"
                },
                {
                    "id": 2,
                    "manufacturer": "SONY",
                    "product": "VAIO XYZ",
                    "color": "silver"
                }
            ]
        }
    ]
}