我有如下所示的代码。我查询了MongoDB,结果被序列化并返回。但是我想为每个记录/文件增加一个新的值,在这个例子中是'age'。 所以我想我会循环的结果,并添加one.put,但价值不显示在返回的JSON。MongoDB&Java,为结果添加一个值
我在做什么错?
感谢您的任何帮助或建议!
public String (int id){
DBCollection collection = database.getCollection("collection");
BasicDBObject query = new BasicDBObject();
query.put("id", id);
DBCursor cursor = collection.find(query);
if (cursor.hasNext()) {
DBObject one = cursor.next();
one.put("age", 33);
}
String json = JSON.serialize(cursor)
return json;
}
返回的JSON被用于输出。在这个输出中,我需要添加一个值,它不必保存在数据库中。 –
您正在“if”中创建一个新的DBObject,然后您不在任何地方保存它。新字段只存在于“one” - 一个只包含“if”语句范围内的对象。顺便说一句,你没有任何地方的循环 - 我建议你循环游标追加每个记录* *新的字段添加到一个新的列表,然后输出该列表(序列化)。 –
对不起,我不完全明白。你有代码示例吗? –