我使用mongoimport
将数据放入我的mongodb。原始数据没有时间戳,我希望跟踪created
和updated
值。
我尝试从mongo CLI添加一个字段,它适用于:
db.test.update({}, {$set : {"foo":1}}, {upsert:false, multi:true})
但最后,如果在导入另一批数据时字段不存在,我想在created
updated
)上添加default: Date.now()
字段
我可以搞清楚。或者如果你有另一种方法可以做到这一点。谢谢!
答案 0 :(得分:1)
假设您要添加字段ca:new Date仅在其不存在时,然后更新使用
@Test
public void testCreateCrawlerWithNoConfiguration() throws ExecutionException, InterruptedException {
String mockUrl = "/version/" + VERSION + "/crawlers";
Map<String, Object> data = new HashMap<>();
data.put("configurationId", "null");
data.put("startUrl", "http://blog.ahmetbutun.net");
Future<Response> asyncRes = target(mockUrl).request(MediaType.APPLICATION_JSON_TYPE).header("userId", MOCK_CRAWLER_VALID_USER_ID).header("token", AUTHENTICATION_HEADER)
.async().post(Entity.json(data));
RestResponse response = asyncRes.get().readEntity(RestResponse.class);
Assert.assertNotNull(response);
Assert.assertEquals(AppConstants.ERROR_CODE_INVALID_CONFIGURATION_ID_EXCEPTION, response.getStatusCode());
Assert.assertEquals(HttpStatus.BAD_REQUEST.value(), response.getMessage().getStatus());
}