LINQ 查询将项目推送到 Mongo 文档的数组
LINQ query to push an item to the array of a Mongo Document
我想使用 LINQ 将 ProductPhoto 推送到产品内部。这是我的模型:
public class Product
{
public string Id { get; set; }
public string Name { get; set; }
public string Detail { get; set; }
public List<ProductPhoto> ProductPhotos { get; set; }
}
public class ProductPhoto
{
public string Id { get; set; }
public string Url { get; set; }
}
如何使用 LINQ 查询实现此目的?我希望结果是这样的。
{
_id: ObjectId('602d2149e773f2a3990b47f5'),
Name: 'Some name',
Detail: 'Some description',
ProductPhotos: [
{ _id: ObjectId('602d2149e773f2a3990b47f5'), Url: 'Some URL' }
]
}
下次我添加新的 ProductPhoto 时,将有两个元素。
谢谢!
类似问题的解答如下:
您可以通过以下方式实现此目的:
var filterBuilder = Builders<Product>.Filter;
var filter = filterBuilder.Eq(x => x.Id, productId);
var updateBuilder = Builders<Product>.Update;
var update = updateBuilder.Push(doc => doc.ProductPhotos, productPhoto);
Products.UpdateOneAsync(filter, update);
我想使用 LINQ 将 ProductPhoto 推送到产品内部。这是我的模型:
public class Product
{
public string Id { get; set; }
public string Name { get; set; }
public string Detail { get; set; }
public List<ProductPhoto> ProductPhotos { get; set; }
}
public class ProductPhoto
{
public string Id { get; set; }
public string Url { get; set; }
}
如何使用 LINQ 查询实现此目的?我希望结果是这样的。
{
_id: ObjectId('602d2149e773f2a3990b47f5'),
Name: 'Some name',
Detail: 'Some description',
ProductPhotos: [
{ _id: ObjectId('602d2149e773f2a3990b47f5'), Url: 'Some URL' }
]
}
下次我添加新的 ProductPhoto 时,将有两个元素。
谢谢!
类似问题的解答如下:
您可以通过以下方式实现此目的:
var filterBuilder = Builders<Product>.Filter;
var filter = filterBuilder.Eq(x => x.Id, productId);
var updateBuilder = Builders<Product>.Update;
var update = updateBuilder.Push(doc => doc.ProductPhotos, productPhoto);
Products.UpdateOneAsync(filter, update);