यह ट्यूटोरियल Golang भाषा के दृष्टिकोण से MongoDB की मौलिक ऑपरेशन को परिचय देता है।
नोट: यह ट्यूटोरियल MongoDB द्वारा प्रदत्त आधिकारिक गो भाषा ड्राइवर पैकेज का उपयोग करता है।
पूर्व-आवश्यक ट्यूटोरियल
नोट: यदि आप MongoDB को अच्छे से नहीं जानते हैं, तो कृपया पहले MongoDB ज्ञान का अध्ययन करें। गोलैंग ट्यूटोरियल में संबंधित ज्ञान दोहराया नहीं जाएगा।
मौलिक आवश्यकताएँ
- Go 1.10 या उच्चतर
- MongoDB 2.6 या उच्चतर
आवश्यकता के अनुसार डिपेंडेंसिज इंस्टॉल करें
go get go.mongodb.org/mongo-driver/mongo
MongoDB से कनेक्ट करें
import (
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"go.mongodb.org/mongo-driver/mongo/readpref"
)
// MongoDB कनेक्शन पता
uri := "mongodb://localhost:27017"
// कंटेक्स्ट ऑब्ज
## दस्तावेज़ डालें
InsertOne फ़ंक्शन का उपयोग करके डेटा डालें।
```go
// Context ऑब्जेक्ट, अनुरोध के समय सीमा निर्धारित करने के लिए सामान्यत: इस्तेमाल किया जाता है, आप पहले से तैयार किया गया context ऑब्जेक्ट भी फिर से परिभाषित करने की आवश्यकता नहीं है
ctx, cancel = context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
// दस्तावेज़ डालें, यहाँ हम डेटा को विवरणित करने के लिए bson.D प्रकार का इस्तेमाल करते हैं, bson.D एक JSON सरणी को दर्शाता है
res, err := collection.InsertOne(ctx, bson.D{{"name", "pi"}, {"value", 3.14159}})
// नई जोड़े गए दस्तावेज़ का id प्राप्त करें
id := res.InsertedID
निम्नलिखित पैकेज इम्पोर्ट करने की आवश्यकता है:
import (
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"go.mongodb.org/mongo-driver/mongo/readpref"
)
ध्यान दें: Golang में, bson पैकेज JSON डेटा संरचना को दर्शाने के लिए इस्तेमाल किया जाता है। निम्नलिखित अध्यायों में MongoDB डेटा संग्रह संरचनाओं का व्यक्तिकरण विस्तार से विवरण दिया जाएगा।
पैकेज मुख्य
आयात (
"context"
"fmt"
"time"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"go.mongodb.org/mongo-driver/mongo/readpref"
)
नेत्र
func मुख्य() {
// Set MongoDB connection address
uri := "mongodb://root:123456@localhost:27017/admin"
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
// Connect to MongoDB
client, err := mongo.Connect(ctx, options.Client().ApplyURI(uri))
if err != nil {
panic(err)
}
defer func() {
// Release the connection with delay
if err = client.Disconnect(ctx); err != nil {
panic(err)
}
}()
// Check if MongoDB connection is successful
if err := client.Ping(ctx, readpref.Primary()); err != nil {
panic(err)
}
fmt.Println("MongoDB connected successfully!")
// Get the numbers collection
collection := client.Database("testing").Collection("numbers")
// Insert a document
res, err := collection.InsertOne(ctx, bson.D{{"name", "pi"}, {"value", 3.14159}})
id := res.InsertedID
fmt.Println("New document Id=", id)
}