将MongoDB查询结果从2个集合加入1个JSON

时间:2013-01-02 13:30:56

标签: java json mongodb

在这里遇到问题。

我有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);

集合的结构不一样,但是它们确实有一些共同的字段,比如'transport','title','id',它们是需要在json中的字段。

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

我该怎么做?

感谢您提供任何帮助或建议!

1 个答案:

答案 0 :(得分: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);