sql >> Databáze >  >> NoSQL >> MongoDB

Vložte prvek do vnořeného pole v Mongodb

Můžete to udělat pomocí FindOneAndUpdateAsync a poziční operátor

public async Task Add(string productId, string categoryId, SubCategory newSubCategory)
{
    var filter = Builders<Product>.Filter.And(
         Builders<Product>.Filter.Where(x => x.Id == productId), 
         Builders<Product>.Filter.Eq("Categories.Id", categoryId));
    var update = Builders<Product>.Update.Push("Categories.$.SubCategories", newSubCategory);
    await collection.FindOneAndUpdateAsync(filter, update);
}


  1. Změňte typ dat z řetězce na datum a vynechejte chybějící data

  2. chyba pymongo:bson.errors.InvalidBSON:kodek 'utf8' nemůže dekódovat bajt 0xa1 na pozici 25:neplatný počáteční bajt

  3. Přeložte Queryable<T> zpět do IMongoQuery

  4. Proč je pole s více hodnotami špatný nápad v relačních databázích