创建集合后,它可以存储 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) |
便于使用 |
数据库文档 |
所有语言 |
跨语言统一 |
生成的文档类 |
严格类型语言 (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();