IdとOtherのような2つの基準を使用したクエリ中に、明確に問題が発生していません。id、iso、valueなどのデータを格納するリポジトリを使用しています。クエリを実行するためのindex( "_ id"、 "Iso")を作成しましたが、クエリは_idのような1つの基準のみを使用した場合にのみカーソルを返しますが、2つ(_id、Iso)を使用した場合は何も返しません(コメント付きコード) 。
インデックスが応答に影響を与えていますか、それともクエリメソッドが失敗していますか?
:v1.6.5とC#公式を使用してください。
サンプル。
//Getting Data
public List<BsonObject> Get_object(string ID, string Iso)
{
using (var helper = BsonHelper.Create())
{
//helper.Db.Repository.EnsureIndex("_Id","Iso");
var query = Query.EQ("_Id", ID);
//if (!String.IsNullOrEmpty(Iso))
// query = Query.And(query, Query.EQ("Iso", Iso));
var cursor = helper.Db.Repository.FindAs<BsonObject>(query);
return cursor.ToList();
}
}
データ:
{
"_id": "2345019",
"Iso": "UK",
"Data": "Some data"
}
その後、Update.Set()メソッドを使用してデータを更新しました。MongoViewを使用して変更されたデータを確認できます。新しいデータは正しいですが、クエリは常に同じ古い値を返します。これらの値を確認するために、最終的にキャッシュできるページを使用しますが、最後にタイムスタンプを追加しても何も変更されない場合、ページは常に同じ古いデータを返します。コメントは大歓迎です、ありがとう。