MongoDB根据记录中的集合内容查找

时间:2012-11-28 06:25:32

标签: c# mongodb

我有一个用户存储在MongoDB中的集合

鉴于发票号,我如何查询User集合以获取相关用户? (在Payments包含InvoiceNumber ='###'的记录的集合中查找用户)

public class User
{
[BsonId]
public ObjectId ID { get; set; }
public string UserName {get;set;}
public List<PaymentInfo> Payments {get;set;} 
}

public class PaymentInfo
{
public string CardNumber {get;set;}
public int InvoiceNumber {get;set;}
public float Amount {get;set;}
}

1 个答案:

答案 0 :(得分:1)

数组对MongoDB是透明的。所以

db.yourCollection.find({Payments.InvoiceNumber: 1234})

应返回所有付款数组中包含一个或多个InvoiceNumner = 1234的对象的文档。