我如何将这个mongo查询转换为一个查询.C#中的EQ语句?
db.users.find({name: 'Bob'}, {'_id': 1});
换句话说,我不希望所有的东西都返回到C#——只是我需要的一个元素,_id.一如既往,Mongo C# Driver tutorial没有帮助.
我如何将这个mongo查询转换为一个查询.C#中的EQ语句?
db.users.find({name: 'Bob'}, {'_id': 1});
换句话说,我不希望所有的东西都返回到C#——只是我需要的一个元素,_id.一如既往,Mongo C# Driver tutorial没有帮助.
Update:对于新的驱动程序版本(1.6+),您可以通过使用linq来避免字段名称硬编码:
var users = usersCollection.FindAllAs<T>()
.SetFields(Fields<T>.Include(e => e.Id, e => e.Name));
您可以通过mongodb游标的SetFields
方法来实现:
var users = usersCollection.FindAllAs<T>()
.SetFields("_id") // include only _id
.ToList();
默认情况下,SetFields
包括指定的字段.如果需要排除某些字段,可以使用:
var users = usersCollection.FindAllAs<T>()
.SetFields(Fields.Exclude("_id")) // exclude _id field
.ToList();
或者您可以将它们结合使用:
var users = usersCollection.FindAllAs<T>()
.SetFields(Fields.Exclude("_id") // exclude _id field
.Include("name")) // include name field
.ToList();