Как уже указывалось, вы пытаетесь создать реляционную базу данных из какой-либо реляционной базы данных, которую вы действительно не хотите делать, но в любом случае, если у вас есть случай, когда вы должны это сделать, это решение, которое вы можете использовать , Сначала мы делаем поиск foreach в коллекции A (или в вашем случае пользователей), и затем мы получаем каждый элемент как объект, тогда мы используем свойство объекта (в вашем случае uid) для поиска в нашей второй коллекции (в ваших комментариях к случаю), если мы может найти его, тогда у нас есть совпадение, и мы можем печатать или что-то делать с ним. Надеюсь, это поможет вам и удачи:)
db.users.find().forEach(
function (object) {
var commonInBoth=db.comments.findOne({ "uid": object.uid} );
if (commonInBoth != null) {
printjson(commonInBoth) ;
printjson(object) ;
}else {
// did not match so we don't care in this case
}
});
Ваша проблема, вероятно, сводится к плохой обработке исключений. Прямо в примере кода вы проглатываете исключения, не регистрируете их содержимое и переходите к фатальным. Любая из них является фатальной ошибкой обработки исключений. И я полагаю, что у остальной части вашего кода есть похожие проблемы.
Такие исключения обычно происходят из-за неправильного закрытия FileHandles. Который напрямую связан с обработкой исключений. Поэтому я могу связать эти две статьи только так, как часто делал раньше, и надеюсь, что вы найдете решение вашей проблемы, следуя их указаниям:
Потратив один день на эту проблему, я наконец нашел решение.
Необходимо выполнить два шага:
1- При использовании OleDBConnection оказалось, что вы не можете прочитать исходный файл, поскольку, как только файл открывается, он начинает использовать загруженный файл. Это подталкивает нас к копированию файла в другое временное местоположение. Поэтому добавьте строку проверки в код.
FileUploadControl.SaveAs(filePath + fileName); //This is the line
OleDbConnection fileConnection = new OleDbConnection(FileConnectionString(filePath, fileName));
fileConnection.Open();
Что он делает, я загружаю файл со своего рабочего стола, чтобы прочитать данные, но приложение сначала копирует его в другое место и читает данные из копии вместо оригинальной.
2- Во временной папке (папке) должен быть NETWORK SERVICE как пользователь. Перейдите в настройки папки -> Безопасность -> Добавить пользователя -> Добавить сетевой сервис с правами чтения и записи.
Тогда тебе будет хорошо идти. Спасибо @Bran и @techturtle за то, что вдохновили меня в комментариях.