MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

mongodb-go-driver/bson संरचना से bson.Document एन्कोडिंग

दुर्भाग्य से यह वर्तमान में समर्थित नहीं है।

आप एक सहायक फ़ंक्शन बना सकते हैं जो एक स्ट्रक्चर मान को bson.Document इस तरह:

func toDoc(v interface{}) (doc *bson.Document, err error) {
    data, err := bson.Marshal(v)
    if err != nil {
        return
    }

    err = bson.Unmarshal(data, &doc)
    return
}

फिर इसे इस तरह इस्तेमाल किया जा सकता है:

partialUpdate := &NoteUpdate{
    Title: "Some new title",
}

doc, err := toDoc(partialUpdate)
// check error

res := c.FindOneAndUpdate(
    context.Background(),
    bson.NewDocument(bson.EC.String("_id", "some-note-id")),
    bson.NewDocument(bson.EC.SubDocument("$set", doc)),
)

उम्मीद है कि ElementConstructor.Interface() कोड> भविष्य में सुधार करेगा और स्ट्रक्चर वैल्यू या पॉइंटर्स को सीधे स्ट्रक्चर वैल्यू में पास करने की अनुमति देगा।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग और मोंगोडीबी:बीन परिभाषाएं पढ़ते समय SAXParseException

  2. MongoDB/PHP:सरणी से तत्व हटाएं

  3. रूबी मोंगो ड्राइवर:दिनांक अंतराल कैसे देखें?

  4. $arrayElemAt . के साथ लौटाया गया एक तत्व प्रोजेक्ट करें

  5. MongoDb फ़िल्टर ऐरे