Я создаю игру и использую MongoDB для хранения координат игроков.Я использовал более старую версию MongoDB, и мой код работал нормально, но мне пришлось разместить базу данных в MongoDB Cloud, и я был вынужден изменить версию .NET на 4.X.Я скачал новые драйверы, и у меня возникли некоторые проблемы с исправлением моего кода, потому что версия, которую я использовал, была слишком старой, и все изменилось.
Это мой код:
public class Coordinate {
public float x { get; set; }
public float y { get; set; }
public float z { get; set; }
}
public class Scores {
[MongoDB.Bson.Serialization.Attributes.BsonElement]
public ObjectId _id { get; set; }
public Coordinate[] Coordinates { get; set; }
public string Player { get; set; }
public float Time { get; set; }
public string Level { get; set; }
}
public static BsonArray arr = new BsonArray();
public static BsonArray arr2 = new BsonArray();
public static IMongoCollection<Scores> highestScoreCollection =
db.GetCollection<Scores>("scores");
Я не могу вставить новый документ, я использовал InsertBatch и изменил на insertMany.
arr.Add(new BsonDocument{
{"Coordinates", arr2},
{"Player", "Neuer"},
{"Time", time},
{"Level", scene.name}
});
highestScoreCollection.InsertMany(arr);
Я получил эту ошибку:
Аргумент 1: невозможно преобразовать из 'MongoDB.Bson.BsonDocument 'в' System.Collections.Generic.IEnumerable '
И я не могу перебрать свою коллекцию:
foreach (var document in highestScoreCollection.Find(new QueryDocument("Level", scene.name)).SetSortOrder(SortBy.Descending("Time"))){
}
Я получаю следующие ошибки:
Аргумент 1: невозможно преобразовать из «MongoDB.Bson.BsonArray» в «System.Collections.Generic.IEnumerable»
ошибка CS0103: имя «SortBy» не существует в текущемcontext
Как я могу исправить свой код?