達成しようとしていることの構文を理解するのに苦労しています。述べたように、MongoDB 用の C# ドライバーを使用しています。
次のように定義された User エンティティがあります
[BsonIgnoreExtraElements]
public class User : MongoEntity
{
[BsonElement]
public string Username { get; set; }
[BsonElement]
public string Password { get; set; }
[BsonElement]
public string Email { get; set; }
}
mongo データベースの User コレクションに対してアクションを実行する UserService クラスもあります。以下は、実際の単純なログイン例を作成する方法の例です。
public UserPresentation Login(string username, string password)
{
var entityQuery = Query<User>.EQ(e => e.Username, username.ToUpper());
var entity = this.MongoConnectionHandler.MongoCollection.FindOne(entityQuery);
return (entity != null && entity.Id.ToString().Length > 0 && entity.Password == password) ? new UserPresentation(entity) : null;
}
これは機能しますが、私の質問は...ユーザー名==ユーザー名のみを検索するクエリを作成し、要素を返し、ifステートメントでパスワードを比較する代わりに、どうにかして初期entityQuery
オブジェクトにフィールドを追加できますか.