json文件代替数据库
本系列文章于2017年中用最新信息和新示例重写。
大多数关系数据库使用SQL进行数据和架构操作。 但是,每个DBMS供应商都开发了自己SQL方言。 这意味着在不同的DBMS平台之间交换数据需要数据转换。 这主要是使用第三方工具来实现的。
对于NoSQL数据库,大多数数据库都对JSON作为导入格式提供了本地支持。 这意味着您可以从一个NoSQL数据库(如Mongo)以JSON格式导出数据,并将相同的数据导入到另一个NoSQL数据库(如RethinkDB),而无需进行任何转换。
在此示例中,我们将查看使用生成器创建的JSON文件,该生成器可以导入到NoSQL数据库(例如Mongo)中。
products.json:
[{
"_id": {
"$oid": "5968dd23fc13ae04d9000001"
},
"product_name": "sildenafil citrate",
"supplier": "Wisozk Inc",
"quantity": 261,
"unit_cost": "$10.47"
}, {
"_id": {
"$oid": "5968dd23fc13ae04d9000002"
},
"product_name": "Mountain Juniperus ashei",
"supplier": "Keebler-Hilpert",
"quantity": 292,
"unit_cost": "$8.74"
}, {
"_id": {
"$oid": "5968dd23fc13ae04d9000003"
},
"product_name": "Dextromathorphan HBr",
"supplier": "Schmitt-Weissnat",
"quantity": 211,
"unit_cost": "$20.53"
}]
要将数据导入到MongoDB,请使用以下命令:
mongoimport --db api --collection products --drop --jsonArray --file products.json
导入完成后,登录数据库并确认数据确实已导入:
db.products.find()
# output
{ "_id" : ObjectId("5968dd23fc13ae04d9000001"), "product_name" : "sildenafil citrate", "supplier" : "Wisozk Inc", "quantity" : 261, "unit_cost" : "$10.47" }
{ "_id" : ObjectId("5968dd23fc13ae04d9000002"), "product_name" : "Mountain Juniperus ashei", "supplier" : "Keebler-Hilpert", "quantity" : 292, "unit_cost" : "$8.74" }
{ "_id" : ObjectId("5968dd23fc13ae04d9000003"), "product_name" : "Dextromathorphan HBr", "supplier" : "Schmitt-Weissnat", "quantity" : 211, "unit_cost" : "$20.53" }
对于其他NoSQL数据库,请查看它们的参考手册,以了解如何完成此操作。
以下是本系列的其他示例:
- 颜色JSON示例
- Google Maps JSON示例
- YouTube JSON示例
- Twitter JSON示例
- GeoIP JSON示例
- WordPress JSON示例
- 本地REST JSON示例
- 测试数据JSON示例
- JSON服务器示例
json文件代替数据库