MongoLab (Heroku)에서 데이터베이스에 대한 업데이트를 실행 중이며 getLastError에서 정보를 가져올 수 없습니다.No updated updated MongoLab의 getLastError에서 존재합니다.
예를 들어 (db 버전 v2.0.3-rc1)을 실행중인 MongoDB 데이터베이스에서 컬렉션을 업데이트하는 구문은 다음과 같습니다.
ariels-MacBook:mongodb ariel$ mongo
MongoDB shell version: 2.0.3-rc1
connecting to: test
> db.mycoll.insert({'key': '1','data': 'somevalue'});
> db.mycoll.find();
{ "_id" : ObjectId("505bcc5783cdc9e90ffcddd8"), "key" : "1", "data" : "somevalue" }
> db.mycoll.update({'key': '1'},{$set: {'data': 'anothervalue'}});
> db.runCommand('getlasterror');
{
"updatedExisting" : true,
"n" : 1,
"connectionId" : 4,
"err" : null,
"ok" : 1
}
>
모두 로컬입니다.
이제 MongoLab의 데이터베이스로 전환하고 동일한 문장을 실행하여 문서를 업데이트합니다. getLastError가 updatedExisting 필드를 반환하지 않습니다. 따라서 업데이트가 성공했는지 여부를 테스트 할 수 없습니다.
ariels-MacBook:mongodb ariel$ mongo ds0000000.mongolab.com:00000/heroku_app00000 -u someuser -p somepassword
MongoDB shell version: 2.0.3-rc1
connecting to: ds000000.mongolab.com:00000/heroku_app00000
> db.mycoll.insert({'key': '1','data': 'somevalue'});
> db.mycoll.find();
{ "_id" : ObjectId("505bcf9b2421140a6b8490dd"), "key" : "1", "data" : "somevalue" }
> db.mycoll.update({'key': '1'},{$set: {'data': 'anothervalue'}});
> db.runCommand('getlasterror');
{
"n" : 0,
"lastOp" : NumberLong("5790450143685771265"),
"connectionId" : 1097505,
"err" : null,
"ok" : 1
}
> db.mycoll.find();
{ "_id" : ObjectId("505bcf9b2421140a6b8490dd"), "data" : "anothervalue", "key" : "1" }
>
누구에게이 문제가 있었습니까? MongoLab의 내 리소스가 중요하다면 mongod v2.0.7 (내 쉘 2.0.3)을 실행 중입니다. 내가 무엇을 놓치고 있는지 확실하지 않습니다. 나는 그들의 말을 듣기를 기다리고있다. (내가 들었을 때 나는 여기에 올릴 것이다.) 괜찮은 사람들을 여기에서 확인하고 싶다. 감사합니다.
감사합니다. @jared. 나는 우리 팀이 어제 영업 종료 전에 항공권에 넣을 수 있었다고 가정했다. 그것에 후속 할 것입니다. – arieldelafuent3
FYI : 이것은이 버그를 추적하는 서버 티켓입니다. https://jira.mongodb.org/browse/SERVER-7315 –