PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb
创建集合后,它可以存储 JSON 文档。您可以通过将 JSON 数据结构传递给 Collection.add()
函数来存储文档。一些语言直接支持 JSON 数据,而另一些语言则具有等效的语法来表示这些数据。实现 X DevAPI 的 MySQL 连接器旨在实现对连接器特定语言的原生 JSON 方法的支持。
此外,在某些 MySQL 连接器中,可以使用通用的 DbDoc
对象。创建它们的最便捷方法是调用 Collection.newDoc()
。 DbDoc
是一种数据类型,用于表示 JSON 文档,并且 X DevAPI 没有定义其实现方式。实现 X DevAPI 的语言可以自由地遵循面向对象的方法,使用 getter 和 setter 方法,或者使用具有公共成员的 C 结构风格。
对于严格类型化的语言,可以根据集合的文档结构定义创建类文件。MySQL Shell 可用于创建这些文件。
表 5.1 不同类型的文档对象、支持的语言及其优势
文档对象 |
支持的语言 |
优势 |
---|---|---|
原生 JSON |
脚本语言 (JavaScript, Python) |
易于使用 |
JSON 等效语法 |
C# (匿名类型, ExpandoObject) |
易于使用 |
DbDoc |
所有语言 |
在语言之间统一 |
生成的 Doc 类 |
严格类型化的语言 (C#) |
自然使用 |
以下示例显示了将文档插入集合的不同方法。
// Create a new collection 'my_collection'
var myColl = db.createCollection('my_collection');
// Insert JSON data directly
myColl.add({_id: '8901', name: 'Mats', age: 21}).execute();
// Inserting several docs at once
myColl.add([ {_id: '8902', name: 'Lotte', age: 24},
{_id: '8903', name: 'Vera', age: 39} ]).execute();