Insert element into nested array in Mongodb

前端 未结 3 1918
孤街浪徒
孤街浪徒 2021-01-04 09:39

I have this :

{
  \"_id\" : ObjectId(\"4fb4fd04b748611ca8da0d48\"),
  \"Name\" : \"Categories\",
  \"categories\" : [{
      \"_id\" : ObjectId(\"4fb4fd04b74         


        
3条回答
  •  無奈伤痛
    2021-01-04 10:01

    You can do this using FindOneAndUpdateAsync and positional operator

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

提交回复
热议问题