如何在MongoDB Update Query中编写(或)更新

时间:2014-02-17 07:55:56

标签: java hibernate mongodb

当我使用Hibernate更新关系数据库时,我发出一个声明 如下:

Query query = getSession().createQuery(
    "update Users set isLocked = 0 where userId = :userID"
);
query.setParameter("userID", userID);

我如何对MongoDB中的集合做同样的事情?

2 个答案:

答案 0 :(得分:1)

这是本机mongodb-java-driver的一个例子:

DBCollection coll = db.getCollection("Users"); //db is connection instance
DBObject search = new BasicDBObject("userId", userId);
DBObject data = new BasicDBObject("$set", new BasicDBObject("isLocked", 0));
coll.update(search,data);

答案 1 :(得分:0)

我为此目的喜欢Spring data mongodb。 一个简单的语法示例:

public User findUserByUsernameAndPassword(String userName, String encodedPassword) {
    return mongoTemplate.findOne(
            query(where("userName").is(userName).and("encodedPassword").is(encodedPassword)), User.class);
}