如何在ObjectIds

时间:2016-07-21 13:12:25

标签: java mongodb

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

1 个答案:

答案 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插入!!!!希望能节省一些头痛

的内容