我有2个集合,一个由外部ObjectId引用另一个集合。 我正试图在2个集合上执行$ lookup。 事情是将外部ObjectId保存为具有以下格式的文档:
"testId" : { "timestamp" : 1469105907,
"machineIdentifier" : 8036392,
"processIdentifier" : 7899,
"counter" : 12372063,
"timeSecond" : 1469105907,
"time" : NumberLong("1469105907000"),
"date" : NumberLong("1469105907000")
}
虽然上面提到的ObjectId采用以下格式:
ObjectId("5790c6437aa0281e0f534729")
我如何使用sae格式保存de foreign ObjecId?正如所指的那样?
我使用java驱动程序和mongo 3.2.0 !!! 并保存文档如下:
Test at = new Test();
at.setForeignId(new ObjectId("5790c6437aa0281e0f534729"));
答案 0 :(得分:0)
抱歉! 问题出在文件插入中。我正在使用一个映射器对象,它以这种方式呈现ObjectId。 ! 不要使用此功能:
WAKE_LOCK
我必须通过以下方式创建文档来重新配置整个插入过程:
org.codehaus.jackson.map.ObjectMapper mapper = new ObjectMapper();
String jsonString = mapper.writeValueAsString( POJO_OBJECT );
Document doc = Document.parse(jsonString);
然后使用此doc插入!!!!希望能节省一些头痛
的内容