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 Различные типы объектов документов, их поддерживаемые языки и их преимущества
Объекты документов | Поддерживаемые языки | Преимущества |
|---|---|---|
Родной 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.