我看到了这个Q& A MongoDB Norm query nested objects,但它似乎只适用于强类型对象。
有没有办法在Expando对象(http://wiki.github.com/atheken/NoRM/expando)上查找或更新嵌套字段?基本上,我有一个简单的JSON CMS工具,允许开发人员在服务器上存储文档对象,然后将其提供给Flash客户端。我需要提供一个简单的服务,开发人员可以创建一个JSON对象,保存它,进行嵌套查询并更新这些对象。
由于数据结构未知,我认为这将是使用MongoDB的理想之地。不幸的是,.Net似乎更适合强类型数据结构。
有什么想法吗?谢谢!
答案 0 :(得分:4)
正如安德鲁所说,由于文档类型在编译时未知,因此您无法获得对expando对象的情报支持。相反,您可以像这样查询
var query = new Expando();
query["comments.Author"] = Q.Equals("R");
Mongo mongo = new Mongo(connection);
var reer = mongo.GetCollection<Expando>("Blog").Find(query).ToList();
通过查询嵌入文档评论(comments.Author =“R”)来检索所有博客文档。
答案 1 :(得分:1)
你当然可以这样做,只需要GetCollection(“collectionName”)或GetCollection(“collectionName”),你就可以完成所有标准操作。使用Expando的缺点是你没有获得intellisense或LINQ,但在你的情况下,这没关系。