这是我的json文件。
WWW-Authenticate
C#代码
{"_id":{"$oid":"569c6f31f633b10994233f16"},"Name":"jawad","Salary":"1000"}
{"_id":{"$oid":"569c7044f633b126c825e880"},"Name":"noor","Salary":"1000"}
{"_id":{"$oid":"569c97df47c0e25eb3af5928"},"Name":"jawad","Salary":5000.0}
{"_id":{"$oid":"569ca7a9f633b11ba42ffecc"},"Name":"mustaf","Salary":"9000","Telephone":["0700221569","0093799346211"]}
{"_id":{"$oid":"569cb94bf633b12e70eefa10"},"Name":"ramin","Salary":"14000"}
{"_id":{"$oid":"569cb98b617a84b98faf34ca"},"_Id":null,"Name":"ts","Salary":"4444"}
{"_id":{"$oid":"569cba2e617a84b98faf34cb"},"ID":null,"Name":"Dingo","Salary":"90004"}
Aspx文件
protected void btnSearch_Click(object sender, EventArgs e)
{
String ConnectionString = "mongodb://localhost:27017";
MongoClient MC = new MongoClient(ConnectionString);
var DB = MC.GetDatabase("test");
var Col = DB.GetCollection<Result>("Product2");
var filter=Builders<Result>.Filter.Eq("Name",txtName.Text);
var Result = Col.Find(filter).SortByDescending(x=>x.Salary).ToList();
var query = (from r in Col.AsQueryable<Result>().Where<Result>(x => x.Name == txtName.Text).SortBy<Result>("Salary")
select new
{
Id = r._Id,
Name = r.Name,
Salary = r.Salary,
Telephone=r.Telephone
}).ToList();
// count of total records.
int TotalElements = query.Count();
lblTotal.Text = TotalElements.ToString();
gvResult.DataSource = query;
gvResult.DataBind();
}
public class Result
{
[BsonId]
public ObjectId _Id { get; set; }
[BsonElement]
public String Name { get; set; }
public double Salary { get; set; }
[BsonElement]
public List<String> Telephone { get; set; }
}
我有1个电话字段用于一条记录,但其余部分没有,我如何查询scape null电话我收到错误:
找不到匹配的创作者。
答案 0 :(得分:0)
var query = (from r in Col.AsQueryable<Result>()
.Where<Result>(x => x.Name == txtName.Text && x.Telephone.Count > 0)
.SortBy<Result>("Salary")
select new
{
Id = r._Id,
Name = r.Name,
Salary = r.Salary,
Telephone=r.Telephone
}
).ToList();
很高兴它解决了你的问题。