访问MongoDB Rest服务获取文档里面的文档

问题描述:

用mongodb和rest激活,我想查询另一个文档里面的文档,语法是什么?在我的例子中,我有一个Person集合,其中包含每个Person的Order文档。访问MongoDB Rest服务获取文档里面的文档

防爆,我有这样的架构

public Person{ 
    public int Id {get;set;} 
    public IList<Order> Order {get;set;} 
} 

public Order{ 
    public int Id {get;set;} 
    public string OrderName {get;set;} 
} 

如果我想查询与ID = 2的人,我只需要输入这个网址:

http://localhost:28017/MyDatabase/PersonCollection/?filter_Id=2

但如果我想要查询ID = 40的订单?

http://localhost:28017/MyDatabase/PersonCollection/?filter_Order.Id=40

,但它不能正常工作,它返回所有的订单没有按ID = 40我的过滤器。

解决方案是什么?

感谢 约翰

+0

,你能否告诉一个个人文档? – 2011-06-01 10:26:32

语法和往常一样,所以下面的请求应该工作:

http://localhost:28017/MyDatabase/PersonCollection/?filter_Order.Id=40 

但YOUT文件应该是这样的:

{ 
    "_id": 1, 
    "Order": [ 
    { 
     "Id": 40, 
     "OrderName": "name" 
    } 
    ] 
} 
+0

嗨,是的,我的人文档看起来就像你写的。我再次尝试你的语法,它仍然返回所有订单而不是一个订单。 :( – Gui 2011-06-01 10:48:18

+0

@JohnSmith:什么在http响应的查询字段?还有你试过运行相同的查询从mongodb的mongodb(如mongovue)的一些工具吗?'filter_Order.Id'应该工作100%,我测试它 – 2011-06-01 10:58:37

+0

我不明白你的意思是“查询字段在http响应”我有MongoVue,免费版本,我没有看到我可以将我的Http查询粘贴到它吗? 下面是看起来像我的人文档内部mongoVue {0} _id 订单[4] {0} {...} _id ORDERNAME {1} {...} {2} {...} – Gui 2011-06-01 11:04:19