2

我看到了这个 Q&A MongoDB Norm query nested objects,但它似乎只适用于强类型对象。

有没有办法在 Expando 对象(https://github.com/atheken/NoRM/wiki/expando)上查找或更新嵌套字段?基本上,我有一个简单的 JSON CMS 工具,它允许开发人员将文档对象存储在服务器上,然后将其提供给 Flash 客户端。我需要提供一个简单的服务,开发人员可以在其中创建 JSON 对象、保存它、进行嵌套查询以及更新这些对象。

由于数据结构未知,我认为这将是使用 MongoDB 的理想场所。不幸的是,.Net 似乎更适合强类型数据结构。

有任何想法吗?谢谢!

4

2 回答 2

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")来检索所有 博客文档。

于 2010-09-14T13:10:04.297 回答
1

您当然可以这样做,只需 GetCollection("collectionName") 或 GetCollection("collectionName") 即可完成所有标准操作。使用 Expando 的缺点是您没有获得智能感知或 LINQ,但在您的情况下,没关系。

于 2010-09-14T12:31:31.763 回答