اس باب میں ہم دیکھیں گے کہ Golang میں MongoDB کی JSON ڈیٹا ساخت کو کیسے ظاہر کیا جاتا ہے۔ ہم سب جانتے ہیں کہ MongoDB ڈیٹا اور کوئیری شرائط کو JSON ساخت میں بیان کیا جاتا ہے۔ لہذا، ہم Go زبان میں ایسی JSON ساخت کو کیسے بیان کرسکتے ہیں؟

bson پیکج

MongoDB کا آفیشل Go زبان ڈرائیور bson پیکج فراہم کرتا ہے، جس میں کئی ڈیٹا ساختیں ہیں جو JSON ڈیٹا کو بیان کرنے کے لئے استعمال ہوتی ہیں۔

bson پیکج: go.mongodb.org/mongo-driver/bson

bson.D قسم کو ترتیب یافتہ کلید-قیمت انداز جوڑوں کو ظاہر کرنے کے لئے استعمال کیا جاتا ہے، جو عام طور پر MongoDB کوئیری اظہارات اور JSON ڈیٹا کو بیان کرنے کے لئے استعمال ہوتے ہیں۔

تعریف:

// کلید-قیمت انداز
type D [] E

// کلید-قیمت ساخت
type E struct {
	Key   string
	Value interface{}
}

کوئیری اظہار کا مثال:

bson.D{{"qty", bson.D{{"$lt", 30}}}}

مترادف اظہار:

{"qty": {"$lt": 30} }

دستاویز ڈیٹا کا مثال:

bson.D{
	{"item", "journal"},
	{"qty", 25},
	{"size", bson.D{
		{"h", 14},
		{"w", 21},
		{"uom", "cm"},
	}},
	{"status", "A"},
}

مترادف JSON:

{
	"item": "journal",
	"qty": 25,
	"size": {
		"h": 14,
		"w": 21,
		"uom": "cm"
	},
	"status": "A"
}

bson.A کو JSON اندازی کرنے کے لئے استعمال کیا جاتا ہے۔

JSON اندازی کی تعریف:

type A []interface{}

مثال 1:

bson.A{"bar", "world", 3.14159, bson.D{{"qux", 12345}}}

مترادف JSON:

["bar", "world", 3.14159, {"qux": 12345}]

مثال 2:

bson.A{"A", "D"}

مترادف JSON:

["A", "D"]

bson.M کو غیر ترتیب یافتہ کلید-قیمت جوڑوں کو ظاہر کرنے کے لئے استعمال کیا جاتا ہے، جو bson.D کے برخلاف کلیدوں کی ذخیرہ کاری کے بارے میں فکرمند نہیں ہوتا۔

تعریف:

type M map[string]interface{}

مثال:

bson.M{"foo": "bar", "hello": "world", "pi": 3.14159}

مترادف JSON:

{
	"foo": "bar",
	"hello": "world",
	"pi": 3.14159
}