sql >> Database >  >> NoSQL >> MongoDB

Hoe addToSet uit te voeren met de officiële Go-driver?

$addToSet is een update-bewerking, als u een enkel document wilt bijwerken, kunt u de Collection.UpdateOne() gebruiken methode.

Gebruik de bson.M en/of bson.D typen om uw filters te beschrijven en document bij te werken.

Bijvoorbeeld:

update := bson.M{
    "$addToSet": bson.M{
        "tags": bson.M{"$each": []string{"camera", "electronics", "accessories"}},
    },
}
res, err := c.UpdateOne(ctx, bson.M{"_id": 2}, update)

Hier is een complete, uitvoerbare app die verbinding maakt met een MongoDB-server en de bovenstaande updatebewerking uitvoert:

ctx := context.Background()
client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost"))
if err != nil {
    panic(err)
}
defer client.Disconnect(ctx)

c := client.Database("dbname").Collection("inventory")

update := bson.M{
    "$addToSet": bson.M{
        "tags": bson.M{"$each": []string{"camera", "electronics", "accessories"}},
    },
}
res, err := c.UpdateOne(ctx, bson.M{"_id": 2}, update)
if err != nil {
    panic(err)
}
fmt.Printf("%+v", res)



  1. Asynchrone cursoriteratie met asynchrone subtaak

  2. PostgreSQL en MongoDB mixen (als Django-backends)

  3. Kunnen we meedoen aan Redis?

  4. Een sleutel verwijderen uit een MongoDB-document met Mongoose