sql >> Database >  >> NoSQL >> MongoDB

Hoe werk ik Array Elements-overeenkomstcriteria in een MongoDB-document bij?

Vanuit mongodb shell kun je dit doen door

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

dus het c#-equivalent

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)
); 

Hiermee wordt het specifieke document bijgewerkt. U kunt het _id-filter verwijderen als u de hele verzameling wilt bijwerken



  1. Databasereferenties correct verbergen

  2. Het bijwerken van het pad 'x' zou een conflict veroorzaken bij 'x'

  3. mangoest/mongodb-query meerdere sorteringen

  4. Mongodb, zoek of een verzameling leeg is, node.js