Mongodb c# changestream ,如何使用 Array 变量而不是在 [] in $in , in filter 中定义值

Mongodb c# changestream , How can I use Array variable instead of defining values in [] in $in , in filter

我正在开发一个创建多个更改流的程序,所以我正在努力在单个流中做同样的事情,而不是创建多个手表, 我的 sessionValues 包含多个 ID,

 string[] sessionValues = list.ToArray();
                 filter = "{ $and: [ { operationType: 'insert' }, " + "{ 'fullDocument.appId' : {$in:['" + sessionValues + "']}} ] }";


                    var pipeline = new EmptyPipelineDefinition<ChangeStreamDocument<BsonDocument>>().Match(filter);

                // var changeStream = Collection.Watch(pipeline, options).ToEnumerable().GetEnumerator();

                DBObjects.DB.WriteLog(DBObjects.LogLevel.Info, "Log data change stream is now configured");
                    var cursor = Collection.Watch(pipeline, options);
                    flag = true;

                    var enumerator = cursor.ToEnumerable().GetEnumerator();                    

我想使用 $in 在我的 sessionValues 变量中查找,而不是以传统的 [] 方式定义值,因为我无法定义,因为我在我的数组中添加值。并希望 $in 在数组中查找。

因为我的格式是 bson,所以我设法做到了,

string sessionValues = "";
foreach (var item in array)
{
sessionValues += "'" + item + "',";
}
filter = "{ $and: [ { operationType: 'insert' }, " + "{ 'fullDocument.appId' : {$in:[" + sessionValues + "]}} ] }";

上述方法对我来说非常有效,列表中的值正在正确获取。