我目前有一个API接受JSON文件(它们是包含一些用户事务数据的JSON序列化对象)并将其存储到服务器中。每个此类JSON文件都具有唯一的全局ID和与之关联的唯一用户。然后,用户应该能够查询与他关联的所有JSON文件,并生成在这些文件之上计算的一堆聚合结果。
**编辑:
需要存储的典型JSON文件类似于:
[{ “的sequenceNumber”:125435 “CURRENCYCODE”: “INR”, “vatRegistrationNumber”: “10868758650”, “receiptNumber”:{ “值”: “1E466GDX5X2C”}, “retailTransaction”:[{ “otherAttributes” :{},“lineItem”:[{“sequenceNumber”:1000,“otherAttributes”:{},“sale”:{“otherAttributes”:{},“description”:“Samsung galaxy S3”,“unitCostPrice”:{ “量”:1, “值”:35000}, “discountAmount”:{ “值”:2500, “货币”: “INR”}, “itemSubType”: “智能电话”}},{ “的sequenceNumber”:1000, “otherAttributes”:{}, “customerOrderForPickup”:{ “otherAttributes”:{}, “说明”: “iPhone5的”, “unitCostPrice”:{ “量”:1, “值”:55000}, “discountAmount”:{ “值”:5000, “货币”: “INR”}, “itemSubType”: “智能电话”}}], “总”:[{ “值”:35000, “类型”: “TransactionGrossAmount”, “otherAttributes”: {}}], “grandTotal”:90000.0, “原因”: “交货”},空]}]
上述JSON是复杂对象的序列化版本,其中包含其他类的一个或多个对象作为属性。所以'receiptNumber'是JSON文件的通用id。
要回答Sammaye的问题,我需要查询诸如customerOrderForPickup的数量和价值或交易的grandTotal之类的东西,并作为各种此类交易JSON的aggegate。 **
我想就如何进行一些建议: 1)将这些JSON文件存储在服务器上,即文件系统即 2)我应该使用什么样的数据库来查询具有如此复杂结构的这些JSON文件
我的研究带来了几种可能性: 1)使用MongoDB数据库存储对象的JSON代表并通过数据库进行查询。如何存储JSON文件?将事务JSON存储在MongoDB数据库中的最佳方法是什么? 2)将包含唯一全局ID,用户ID和服务器上JSON文件地址的SQL数据库与这些文件上的聚合代码耦合在一起。我怀疑这是否可以缩放
如果有人对这个问题有任何见解会很高兴。感谢。
答案 0 :(得分:1)
我可以看到两个选项: