Ejemplo n.º 1
0
        public static IEnumerable<CompareBsonDocumentsResult> CompareBsonDocumentFiles(string file1, string file2,
            BsonDocumentComparatorOptions comparatorOptions = BsonDocumentComparatorOptions.ReturnNotEqualDocuments, EnumerateElementsOptions enumerateElementsOptions = EnumerateElementsOptions.None,
            IEnumerable<string> elementsToCompare = null, IEnumerable<string> documentReference = null)
        {
            var query = EnumarateTwoBsonDocumentsList(zmongo.BsonRead<BsonDocument>(file1), zmongo.BsonRead<BsonDocument>(file2));

            BsonDocumentComparator comparator = new BsonDocumentComparator();
            comparator.SetComparatorOptions(comparatorOptions);
            comparator.SetEnumerateElementsOptions(enumerateElementsOptions);
            comparator.SetElementsToCompare(elementsToCompare);
            comparator.SetDocumentReference(documentReference);
            return comparator.Compare(query);
        }
Ejemplo n.º 2
0
        public static IEnumerable<CompareBsonDocumentsResult> CompareBsonDocumentFilesWithKey(string file1, string file2, string key1, string key2, JoinType joinType = JoinType.InnerJoin,
            BsonDocumentComparatorOptions comparatorOptions = BsonDocumentComparatorOptions.ReturnNotEqualDocuments, EnumerateElementsOptions enumerateElementsOptions = EnumerateElementsOptions.None,
            IEnumerable<string> elementsToCompare = null)
        {
            IEnumerable<TwoBsonDocuments> query =
                zmongo.BsonRead<BsonDocument>(file1).zJoin(
                    zmongo.BsonRead<BsonDocument>(file2),
                    document1 => document1[key1],
                    document2 => document2[key2],
                    (document1, document2) => new TwoBsonDocuments { Key = document1 != null ? document1.zGet(key1) : document2.zGet(key2), Document1 = document1, Document2 = document2 },
                    joinType);

            BsonDocumentComparator comparator = new BsonDocumentComparator();
            comparator.SetComparatorOptions(comparatorOptions);
            comparator.SetEnumerateElementsOptions(enumerateElementsOptions);
            comparator.SetElementsToCompare(elementsToCompare);
            return comparator.Compare(query);
        }