Привет! Хотите освоить использование MongoDB с Go? Вы пришли в нужное место! В этой статье блога мы рассмотрим некоторые распространенные методы и примеры кода, которые помогут вам начать работу. Давайте сразу приступим!
- Подключение к базе данных MongoDB:
Чтобы установить соединение с базой данных MongoDB, вы можете использовать методmongo.Connect
. Вот простой пример:
client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI("mongodb://localhost:27017"))
if err != nil {
log.Fatal(err)
}
- Доступ к коллекции.
Как только вы подключитесь, вы сможете получить доступ к коллекции с помощью методаDatabase.Collection
. Вот пример:
collection := client.Database("mydb").Collection("mycollection")
- Вставка документов.
Чтобы вставить документы в коллекцию, вы можете использовать методыCollection.InsertOne
илиCollection.InsertMany
. Вот пример вставки одного документа:
doc := bson.D{
{"name", "John Doe"},
{"age", 30},
}
result, err := collection.InsertOne(context.TODO(), doc)
if err != nil {
log.Fatal(err)
}
- Запрос документов.
Чтобы получить документы из коллекции, вы можете использовать методCollection.Find
. Вот пример запроса документов на основе фильтра:
filter := bson.D{{"age", bson.D{{"$gt", 25}}}}
cur, err := collection.Find(context.TODO(), filter)
if err != nil {
log.Fatal(err)
}
defer cur.Close(context.TODO())
for cur.Next(context.TODO()) {
var doc bson.D
err := cur.Decode(&doc)
if err != nil {
log.Fatal(err)
}
// Process the document...
}
- Обновление документов.
Чтобы обновить документы в коллекции, вы можете использовать методыCollection.UpdateOne
илиCollection.UpdateMany
. Вот пример обновления одного документа:
filter := bson.D{{"name", "John Doe"}}
update := bson.D{{"$set", bson.D{{"age", 35}}}}
result, err := collection.UpdateOne(context.TODO(), filter, update)
if err != nil {
log.Fatal(err)
}
- Удаление документов.
Чтобы удалить документы из коллекции, вы можете использовать методыCollection.DeleteOne
илиCollection.DeleteMany
. Вот пример удаления одного документа:
filter := bson.D{{"name", "John Doe"}}
result, err := collection.DeleteOne(context.TODO(), filter)
if err != nil {
log.Fatal(err)
}
На этом всё! Мы рассмотрели некоторые фундаментальные методы, которые вы обычно используете при работе с MongoDB в Go. Не забывайте правильно обрабатывать ошибки в своем коде и изучите официальную документацию драйвера MongoDB Go для более расширенного использования.
Удачного программирования с MongoDB и Go!