相关疑难解决方法(0)

(MongoDB Java)$ push into array

我正在使用mongo 2.2.3和java驱动程序.我的困境,我必须把一个字段和值推入一个数组,但我似乎无法弄清楚如何做到这一点.我的数据样本:

"_id" : 1,
"scores" : [
    {
        "type" : "homework",
        "score" : 78.97979
    },
    {
        "type" : "homework",
        "score" : 6.99
    },
    {
        "type" : "quiz",
        "score" : 99
    }
]
Run Code Online (Sandbox Code Playgroud)

我可以$推入shell:

db.collection.update({_id:1},{$push:{scores:{type:"quiz", score:99}}})
Run Code Online (Sandbox Code Playgroud)

但是当我把它翻译成java时,我迷惑自己并将键盘放在墙上.

到目前为止我的java代码(不完整和错误):

DBObject find = new BasicDBObject("_id", 1);
DBObject push = new BasicDBObject("$push", new BasicDBObject(
                        "scores", new BasicDBObject()));
Run Code Online (Sandbox Code Playgroud)

java mongodb nosql-aggregation mongo-java jongo

34
推荐指数
4
解决办法
3万
查看次数

Spring Data和MongoDB存储库 - 如何创建更新查询?

我有以下jpa存储库:

   @Query("UPDATE PlayerAccount pa SET pa.password = ?3 WHERE pa.id = ?1 AND pa.password = ?2")
   @Modifying
   public int updatePasswordWithValidation(Long playerAccountId, String oldPasswordDB, String encodePassword);
Run Code Online (Sandbox Code Playgroud)

现在,我想为mongoDB存储库实现类似的更新查询:

@Query("update( { _id: ObjectId(' $1 ') }, { $set: { messageStatus: $2} })")
Run Code Online (Sandbox Code Playgroud)

但它不起作用.任何有关自定义mongo存储库更新如何显示的参考?

谢谢

java spring mongodb spring-data spring-data-mongodb

3
推荐指数
1
解决办法
2580
查看次数