2013-01-02 52 views
0

在这里遇到问题。将MongoDB从2个收藏集中的查询结果添加到1 JSON

我有2个或多个需要搜索的MongoDB集合,搜索结果应放入JSON字符串中。

// First collection 
BasicDBObject dbo = new BasicDBObject(); 
dbo.append("transport", "car"); 
DBCursor cur = collectionOne.find(dbo); 

// Second collection 
BasicDBObject dbo = new BasicDBObject(); 
dbo.append("transport", "car"); 
DBCursor cur = collectionTwo.find(dbo); 

的集合的结构是不一样的,但他们确实有一些共同的领域,比如“运输”,“标题”,“身份证”,这是需要在去田野JSON。

因此,将两次搜索的结果合并到一个JSON响应中。

我该怎么做?

感谢您的任何帮助或建议!

+0

目前尚不清楚你想要做什么。你想要的输出是什么? (主题不清楚“我将如何做这件事?”)当数据位于两个不同的集合中时,您是否试图以某种方式将两次搜索的结果合并为单个响应? (将结果合并为一个POJO并序列化为JavaScript/JSON) – WiredPrairie

+0

是试图将两次搜索的结果合并为单个响应。 –

+0

看看http://stackoverflow.com/questions/2350495/how-do-i-perform-the-sql-join-equivalent-in-mongodb它处理相同的问题。 –

回答

0

鉴于查询条件在整个集合中是唯一的事实,并且MongoDB是一个无模式的无SQL数据库,实际上,您可以为所有数据集使用一个集合,并且不需要合并不同的数据集收藏。就像:

BasicDBObject query = new BasicDBObject(); 
query.append("transport", "car"); 
BasicDBObject fields = new BasicDBObject(); 
fields.append("transport", "1"); 
fields.append("title", "1");   //get the fields 
DBCursor cur = collection.find(query, fields); 
相关问题