Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-2623

AndFilterDefinition rendering does not include the "$and" part

    • Type: Icon: Bug Bug
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.8.1
    • Component/s: Serialization
    • Labels:
      None

      The rendering of AndFilterDefinition is missing the $and string at the beginning:

      var andFilter = Builders<Folder>.Filter.And( 
          Builders<Folder>.Filter.Where(f => f.FolderGuid == folderId),
          Builders<Folder>.Filter.Where(f => f.ParentFolderGuid == folderId))                .Render(folderSerializer, BsonSerializer.SerializerRegistry);
      
      // Outputs: { "_id" : CSUUID("645624f2-35b5-4fe5-903c-7742e41d3371"), "ParentFolderGuid" : // CSUUID("645624f2-35b5-4fe5-903c-7742e41d3371") }
      Console.WriteLine(andFilter); 
      
      var orFilter = Builders<Folder>.Filter.Or( 
          Builders<Folder>.Filter.Where(f => f.FolderGuid == folderId),
          Builders<Folder>.Filter.Where(f => f.ParentFolderGuid == folderId))                .Render(folderSerializer, BsonSerializer.SerializerRegistry);
      
      // Outputs: { "$or" : [{ "_id" : CSUUID("645624f2-35b5-4fe5-903c-7742e41d3371") }, { "ParentFolderGuid" : CSUUID("645624f2-35b5-4fe5-903c-7742e41d3371") }] }
      Console.WriteLine(orFilter); 

            Assignee:
            robert@mongodb.com Robert Stam
            Reporter:
            yonatand80@gmail.com Yonatan Doron
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: