2017-04-15 42 views
-1

伙计。 立即抱歉我的英语。 我需要帮助解决几天以来我无法确定的问题。C#mongoDB数据采集

我有一个与mongoDB相关的C#项目。 用户可以创建一个帐户并为他创建两个角色。

这里的角色创建:

Character.Character character = new Character.Character 
    { 
    SocialClubName = player.socialClubName, 
    Name = name, 
    Surname = surname, 
    RegistrationDate = DateTime.Now, 
    LastLoginDate = DateTime.Now, 
    RegistrationIp = player.address, 
    CurrentIp = player.address 
    }; 

    Characters.InsertOneAsync(character); 

Character.cs

public class Character 
    { 
    [BsonId] 
    public ObjectId Id { get; set; } 

    public string SocialClubName { get; set; } 
    public string Name { get; set; } 
    public string Surname { get; set; }  
    public string RegistrationIp { get; set; } 
    public string CurrentIp { get; set; } 
    public DateTime RegistrationDate { get; set; } 
    public DateTime LastLoginDate { get; set; } 
    } 

而问题是从数据库中获取这些数据。我需要有两个字符数据的全局变量。

现在看起来是这样的:

public static string Name { get; set; } 
public static string Surname { get; set; } 
public static string RegistrationIp { get; set; } 
public static string CurrentIp { get; set; } 
public static DateTime RegistrationDate { get; set; } 
public static DateTime LastLoginDate { get; set; } 

public static async Task LoadCharacterData(Client player) 
{ 
    var filter = new BsonDocument("NameOfTable", player.name); 
    var characters = await DatabaseManager.Characters.Find(filter).ToListAsync(); 

    foreach (var character in characters) 
    { 
    Name = character.Name; 
    Surname = character.Surname; 
    RegistrationIp = character.RegistrationIp; 
    CurrentIp = character.CurrentIp; 
    RegistrationDate = character.RegistrationDate; 
    LastLoginDate = character.LastLoginDate; 
    } 
} 

它看起来愚蠢的,因为我刚开始用C#的工作。我决定使用MongoDB,因为我之前曾与MeteorApp合作过。

回答

0

您的示例将在每次阅读时覆盖Name/SurName等,因此您只能检索最后一个字符。

您可以创建一个User类,并得到这些,像这样:

public class User 
{ 
    public string Name{get;set;} 
    public string SurName{get;set;} 
} 

public static List<User> Users {get;set;} 
public static async Task LoadCharacterData(Client player) 
{ 
    //*Snip* 
    foreach(var character in character) 
    Users.Add(new User {Name = character.Name; SurName = character.Surname;} 
}