我是新来蒙戈DB和有,因为它是在不同的环境(开发,QA和生产)MongoDB的:如何使findAndModify返回最后更新的记录
表现不同,我使用findAndModify来更新记录的麻烦在我的MongoDB中。
有一个工作每天运行更新/插入数据到Mongo DB,我使用findAndModify更新记录。
但是我发现findAndModify返回的第一条记录在Dev,QA和Production environemnts中是不同的,尽管三个环境具有相同的数据。
按照蒙戈DB文件,它指出findAndModify将修改第一个文件
目前,这是我的代码:
BasicDBObject update = new BasicDBObject();
update.append("$set", new BasicDBObject(dataformed));
coll.findAndModify(query, update);
请让我知道我可以保证的是,findAndModify返回最后更新的记录,而不是取决于不可预测的行为?
编辑部分
我想那种用我的代码,但它给我的编译错误
coll.findAndModify(查询,排序:{等级:1},更新);
我有一个称为LASTUPDATED场这是使用System.currentTimeMilis
这样我就可以使用这个LASTUPDATED如图所示这种方式来获取最后更新记录
coll.findAndModify( query,
new BasicDBObject("sort", new BasicDBObject("lastUpdated ", -1)),
update);
没有coll.sort,和我使用findAndModify并没有找到 – Pawan
请在这里看到我的答案: [Fully working method](https://stackoverflow.com/questions/4943434/mongodbs-set-equivalent-in-its-java-driver/46728939#46728939) - 享受。 – JamesC