Для того, что вы пытаетесь достичь, вам нужно использовать QueryCursor , который позволит вам изменять документы по одному.
Вы можете сделать что-то вроде этого,
Card.find()
.cursor()
.on('data', function(card) {
if (card.date === firstDate) {
card.set("date", secondDate);
} else if (card.date === secondDate) {
card.set("date", firstDate);
}
card.save(function(err){
});
})
.on('end', function() { console.log('Done!'); });
Библиотека DotNetOpenAuth выполняет как RP, так и OP, и имеет очень подробное ведение журнала для диагностических целей, которое может быть настроено на любые журналы, которые вас интересуют. Вы можете использовать его для тестирования на своем сайте OpenID, независимо от того, какая у него платформа. .
Вы можете проверить образец журналов, войдя в демонстрационную RP , а затем посетив страницу журнала , которую он накапливал с вашего логина.
Тогда есть эквивалентный демонстрационный OP и соответствующая страница журнала .
Если вам нравится то, что вы видите, вы можете либо сами использовать эти сайты для проверки своего сайта OpenID, либо вы можете загрузите DotNetOpenAuth и используйте его локально, а также настраивайте журналы.
Несколько предложений о том, где вы можете найти информацию, отличную от Google: есть несколько ссылок на dmoz , и есть несколько связанных с OpenID проектов на freshmeat и sourceforge . Хотя вы можете не найти то, о чем просите, возможно, вы можете напрямую спросить об этом одного или нескольких авторов различных серверов openid или разместить их в соответствующих списках рассылки. Я бы предположил, что некоторые из них выполнили свою часть отладки и могли бы дать некоторые советы.
Я думаю, что расширение TamperData для FireFox - это то, что я привык смотреть на общение через пользователя -agent. Скрипт "openid-parse" в python-openid / contrib / возьмет данные, скопированные из журналов TamperData, и проанализирует их в полях OpenID для вас.