私はbooksというコレクションを持っています。特定の本を閲覧するときに、ID で本を取得します。しかし、ドキュメントを読むたびにビューカウントを 1 ずつ増やしたいと思っています。
2 つのコマンドを使用できます。1 つは読み取り用、もう 1 つはビュー カウンターを 1 ずつ更新するためです。
findAndModify のような単一のコマンドでこれを行う方法はありますか?
CSharp ドライバーを使用してそれを使用する方法?
Books:
{
{
"_id": "1"
"title" : "Earth Day",
"author" : "John ",
"pages" : 212,
"price" : 14.5,
"views" : 1000
},
{
"_id": "2"
"title" : "The last voyage",
"author" : "Bob",
"pages" : 112,
"price" : 10.5,
"views" : 100
}
}
私はこれを持っています:
var query = Query.And(Query.EQ("_id", id));
var sortBy = SortBy.Null;
var update = Update.Inc("views", 1);
var result = Books.FindAndModify(query, sortBy, update, true);
しかし、一致するドキュメントを取り戻すにはどうすればよいでしょうか?
編集:私はそれを働かせました..
return result.GetModifiedDocumentAs<T>();
私の質問は、この呼び出し GetModifiedDocumentAs() がデータベースに再度アクセスすることですか?