我是 mongoDB 的新手,关键是,我们新意识到我们的应用程序中的一个错误会导致多个 mongoDB 条目,而不是更新(编辑的)文档。现在,应用程序上线了,我们意识到了这个错误并试图解决随之而来的问题。
以下情况:@mongoDB 有很多包含此结构的文档:
"_id" : ObjectId("4fd9ede5a6b9579f5b000003"),
"USER" : "my_username",
"matchID" : 18809,
"data1" : 2,
"data2" : 1,
"tippDate" : ISODate("2012-06-14T13:57:57Z"),
"data3" : 0
如果用户在应用程序中更改数据,应用程序将插入一个新文档而不是更新现有文档。
像那样
{
"_id" : ObjectId("4fd9ede5a6b9579f5b000003"),
"USER" : "my_username",
"matchID" : 18809,
"data1" : 2,
"data2" : 1,
"tippDate" : ISODate("2012-06-14T13:57:57Z"),
"data3" : 0
}
{
"_id" : ObjectId("4fd9ede5a6b9579f5b000002"),
"USER" : "my_username",
"matchID" : 18809,
"data1" : 4,
"data2" : 2,
"tippDate" : ISODate("2012-06-14T12:45:33Z"),
"data3" : 0
}
现在,应用端的bug已经解决了,但是现在我们必须清理数据库。监狱只保留每个用户的最新记录/文档。一种方法是在应用程序端处理此问题:从一个用户加载所有数据,按日期排序,从一个用户删除所有数据并将最新条目写回 mongoDB。
但是:难道不能像在 MySQL 上使用关节删除那样处理 mongoDB 吗?
感谢您提供任何帮助或提示!