最近在学习mongodb,遇到了重重困难,眼看就能实现自己的效果,又遇到一个问题。
就是查询条件是从客户端传过来的json字符串。
现在json字符串如下:
{BirthDay:{$gte:ISODate("2000-01-01"),$lte:ISODate("1990-01-01")}}
即:查询1990年到2000年间出生的小朋友。
①:Document queryFilterDocument = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<Document>(queryFilterJson);
②:categories.Find(queryFilterDocument).Documents.Count()
现在遇到一个问题就是在执行上面①处的代码时报错
A document being deserialized to System.Object must be empty.
初步分析了一下原因:是因为上面的json串存在嵌套,即一个属性是另一个对象。
如果只是简单的key/value 则不会报错。这个可有解决方案?
先序列化为对象,而不要使用MongoDB的Bson序列化.
然后对这个对象进行传递到MongoDB作为过滤器使用实时