Spec-Zone.ru › MySQL Connectors 1.0

5.1 Создание документов

После создания коллекции она может хранить JSON-документы. Вы сохраняете документы, передавая структуру данных JSON функции Collection.add(). Некоторые языки имеют прямую поддержку данных JSON, другие имеют эквивалентный синтаксис для представления этих данных. MySQL Connectors, реализующие X DevAPI, стремятся реализовать поддержку всех методов JSON, которые являются родными для конкретных языков Connectors.

Кроме того, в некоторых MySQL Connectors могут использоваться универсальные объекты DbDoc. Наиболее удобный способ их создания — вызов функции Collection.newDoc(). DbDoc — это тип данных для представления JSON-документов, и способ его реализации не определён X DevAPI. Языки, реализующие X DevAPI, свободны следовать объектно-ориентированному подходу с методами getter и setter или использовать стиль C struct с открытыми членами.

Для строго типизированных языков возможно создание файлов классов на основе определения структуры документа коллекций. MySQL Shell может использоваться для создания этих файлов.

Таблица 5.1 Различные типы объектов документов, их поддерживаемые языки и их преимущества

Таблица 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();

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/x-devapi-userguide-shell-js-en/creating-documents.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API