5.1 创建文档

创建集合后,它可以存储 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

所有语言

跨语言统一

生成的文档类

严格类型的语言(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();