sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur uppdaterar jag Array Elements matchande kriterier i ett MongoDB-dokument?

Från mongodb shell kan du göra detta genom att

db.your_collection.update(
    { _id: ObjectId("your_objectid"), "Statuses.Type": 1 },
    { $set: { "Statuses.$.Timestamp": "new timestamp" } }
)

alltså c#-motsvarigheten

var query = Query.And(
    Query.EQ("_id", "your_doc_id"),
    Query.EQ("Statuses.Type", 1)
);

var result = your_collection.Update( 
    query, 
    Update.Set("Statuses.$.Timestamp", "new timestamp", UpdateFlags.Multi,SafeMode.True)
); 

Detta kommer att uppdatera det specifika dokumentet, du kan ta bort _id-filtret om du vill uppdatera hela samlingen



  1. Anslut till en specifik databas som standard i mongodb

  2. Enkel schemaläggning av underhållsfönster i dina databaskluster

  3. Mongoose find() returnerar inte resultat

  4. Redis, sessionsutgång och omvänd sökning