sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur utför man addToSet med Go officiella drivrutin?

$addToSet är en uppdateringsåtgärd, om du vill uppdatera ett enda dokument kan du använda Collection.UpdateOne() metod.

Använd bson.M och/eller bson.D typer för att beskriva dina filter och uppdatera dokument.

Till exempel:

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

Här är en komplett, körbar app som ansluter till en MongoDB-server och utför ovanstående uppdatering:

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. Mongoose:valideringsfelsökväg krävs

  2. Redis replikering och redis sharding (kluster) skillnad

  3. Resque på Heroku cedar stack Antalet arbetare existerar fortfarande efter att arbetaren avslutats

  4. MongoDB GUI-klient (plattformsoberoende eller Linux)