首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在c#中使用mongodb changeStream?

如何在c#中使用mongodb changeStream?
EN

Stack Overflow用户
提问于 2018-07-23 16:41:56
回答 1查看 2.7K关注 0票数 0

我想要显示c#中最后一条记录,对于这个目标,必须知道何时将新记录插入到mongodb集合中,并更新c#中显示的最后一条记录。为此,mongodb建议使用change stream,但我不能使用that.my代码,如下所示:

代码语言:javascript
复制
 namespace Kaa_app
{
class Program
{

    static void Main(string[] args)
    {
        CallMain(args).Wait();
        Console.ReadLine();
    }

    static async Task CallMain(string[] args)
    {

        var client = new MongoClient("mongodb://192.168.43.267:27017");
        var database = client.GetDatabase("kaa");
        var collection = database.GetCollection<BsonDocument>("endpoint");


        await collection.Find(new BsonDocument()).Sort("{_id:-1}").Limit(1).ForEachAsync(X => Console.WriteLine(X));

    }
    public class Data
    {
        [BsonId]
        public String application_id { get; set; }

        public String endpoint_id { get; set; }

        public String credentials_id { get; set; }
    }

}

}

EN

回答 1

Stack Overflow用户

发布于 2018-07-25 05:41:15

下面是如何使用MongoDB .Net/C# driver v2.7在MongoDB中打开change流的示例代码。您可能只想侦听特定的change events,即插入。

代码语言:javascript
复制
var database = client.GetDatabase("dbName");        
var collection = database.GetCollection<BsonDocument>("collectionName");

var options = new ChangeStreamOptions { FullDocument = ChangeStreamFullDocumentOption.UpdateLookup };
var pipeline = new EmptyPipelineDefinition<ChangeStreamDocument<BsonDocument>>().Match("{ operationType: { $in: [ 'insert', 'delete' ] } }");

var cursor = collection.Watch<ChangeStreamDocument<BsonDocument>>(pipeline, options);

var enumerator = cursor.ToEnumerable().GetEnumerator();
while(enumerator.MoveNext())
{
    ChangeStreamDocument<BsonDocument> doc = enumerator.Current;
    // Do something here with your document
    Console.WriteLine(doc.DocumentKey); 
}   

另请参阅Getting Stated with mongo-csharp-driver

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51474747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档