2017-03-16 75 views
0

我想比较mongoDB弹簧数据中的两个字符串。
我的代码:如何比较mongoDB弹簧数据中的两个字符串?

@GET 
    @Path("/reqvolatility") 
    @Produces(MediaType.APPLICATION_JSON) 

    public long getReqVolatility() throws JsonParseException, JsonMappingException, IOException{ 

    String query = "{},{_id:0,levelId:1,reqID:1,creationTime:1,lastModified:1}"; 
    Query query1 = new BasicQuery(query); 
    query1.addCriteria(Criteria.where("creationTime").ne("lastModified")); 
    long reqvolatility = getMongoOperation().count(query1,RequirmentVO.class); 

    return reqvolatility; 

    } 

在上面的代码“创建时间” &“上次更改”列mongoDB.I'm比较这两个领域,但其没有给予正确的计数。 这是正确的吗?如果它是错误的,我怎样才能比较两个fileds?

回答

1

标准查询操作不会比较一个域与另一个域的值。为了做到这一点,你需要使用JavaScript的评价服务器端这实际上可以比较两个字段值:

假设这两个领域都ISODate情况

BasicQuery query = new BasicQuery(
     new BasicDBObject("$where", "this.creationTime.getTime() != this.lastModified.getTime()") 
    ); 
+0

真棒,其工作:) – user3114967

+0

高兴它帮助。请接受它解决了你的问题 – Rahul