22.3.3.2 Работа с коллекциями
Для работы с коллекциями в схеме используйте глобальный объект db для доступа к текущей схеме. В этом примере мы используем схему world_x, импортированную ранее, и коллекцию countryinfo. Следовательно, формат операций, которые вы выполняете, — db., где collection_name.operationcollection_name — имя коллекции, к которой применяется операция. В следующих примерах операции выполняются с коллекцией countryinfo.
Добавление документа
Используйте метод add() для вставки одного документа или списка документов в существующую коллекцию. Вставьте следующий документ в коллекцию countryinfo. Поскольку это многострочный контент, нажмите Enter дважды для вставки документа.
mysql-js> db.countryinfo.add(
{
GNP: .6,
IndepYear: 1967,
Name: "Sealand",
Code: "SEA",
demographics: {
LifeExpectancy: 79,
Population: 27
},
geography: {
Continent: "Europe",
Region: "British Islands",
SurfaceArea: 193
},
government: {
GovernmentForm: "Monarchy",
HeadOfState: "Michael Bates"
}
}
)
Метод возвращает статус операции. Вы можете проверить операцию, найдя документ. Например:
mysql-js> db.countryinfo.find("Name = 'Sealand'")
{
"GNP": 0.6,
"_id": "00005e2ff4af00000000000000f4",
"Name": "Sealand",
"Code:": "SEA",
"IndepYear": 1967,
"geography": {
"Region": "British Islands",
"Continent": "Europe",
"SurfaceArea": 193
},
"government": {
"HeadOfState": "Michael Bates",
"GovernmentForm": "Monarchy"
},
"demographics": {
"Population": 27,
"LifeExpectancy": 79
}
}
Обратите внимание, что помимо полей, указанных при добавлении документа, есть ещё одно поле — _id. Каждый документ требует идентификатора поля, называемого _id. Значение поля _id должно быть уникальным среди всех документов в той же коллекции. Идентификаторы документов генерируются сервером, а не клиентом, поэтому MySQL Shell не автоматически устанавливает значение _id. MySQL устанавливает значение _id, если документ не содержит поля _id. Для получения более подробной информации см. .
Связанная информация
См. для полного определения синтаксиса.
См. .
© 2025 Oracle
Licensed under the GPLv2 License.