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); }
public static CompareBsonDocumentsResult CompareBsonDocuments(BsonDocument document1, BsonDocument document2, BsonDocumentComparatorOptions comparatorOptions = BsonDocumentComparatorOptions.ReturnNotEqualDocuments, EnumerateElementsOptions enumerateElementsOptions = EnumerateElementsOptions.None, IEnumerable<string> elementsToCompare = null) { BsonDocumentComparator comparator = new BsonDocumentComparator(); comparator.SetComparatorOptions(comparatorOptions); comparator.SetEnumerateElementsOptions(enumerateElementsOptions); comparator.SetElementsToCompare(elementsToCompare); return comparator.CompareBsonDocuments(new TwoBsonDocuments { Document1 = document1, Document2 = document2 }); }
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); }
public void SetComparatorOptions(BsonDocumentComparatorOptions options) { _comparatorOptions = options; if ((options & BsonDocumentComparatorOptions.ReturnNotEqualDocuments) == BsonDocumentComparatorOptions.ReturnNotEqualDocuments) _returnNotEqualDocuments = true; else _returnNotEqualDocuments = false; if ((options & BsonDocumentComparatorOptions.ReturnEqualDocuments) == BsonDocumentComparatorOptions.ReturnEqualDocuments) _returnEqualDocuments = true; else _returnEqualDocuments = false; if ((options & BsonDocumentComparatorOptions.DontSetDocumentReference) == BsonDocumentComparatorOptions.DontSetDocumentReference) _dontSetDocumentReference = true; else _dontSetDocumentReference = false; if ((options & BsonDocumentComparatorOptions.StringComparisonIgnoreCase) == BsonDocumentComparatorOptions.StringComparisonIgnoreCase) _stringComparisonIgnoreCase = true; else _stringComparisonIgnoreCase = false; if ((options & BsonDocumentComparatorOptions.StringComparisonIgnoreWhiteSpace) == BsonDocumentComparatorOptions.StringComparisonIgnoreWhiteSpace) _stringComparisonIgnoreWhiteSpace = true; else _stringComparisonIgnoreWhiteSpace = false; }
private IEnumerable<string> _documentReferenceElements2 = null; // list of reference element from document 2 public CompareBsonDocumentsResult(TwoBsonDocuments twoBsonDocuments, BsonDocumentComparatorOptions comparatorOptions) { _twoBsonDocuments = twoBsonDocuments; _comparatorOptions = comparatorOptions; }
public static void Test_Compare(string file1, string file2, string resultFile, IEnumerable<string> elementsToCompare = null, BsonDocumentComparatorOptions options = BsonDocumentComparatorOptions.ReturnNotEqualDocuments) { //string file1 = @"c:\pib\dev_data\exe\runsource\test_unit\Print\FindPrint\FindPrint_out_bson.txt"; //string file2 = @"c:\pib\dev_data\exe\runsource\test_unit\Print\FindPrint\_archive\FindPrint_v1_SelectPost_02\FindPrint_out_bson.txt"; //string resultFile = @"c:\pib\dev_data\exe\runsource\test_unit\Print\FindPrint\test_compare.txt"; file1 = zPath.Combine(GetDirectory(), file1); file2 = zPath.Combine(GetDirectory(), file2); if (elementsToCompare == null) elementsToCompare = new string[] { "findPrint_file" }; resultFile = zPath.Combine(GetDirectory(), resultFile); BsonDocumentComparator.CompareBsonDocumentFilesWithKey(file1, file2, "post_title", "post_title", joinType: pb.Linq.JoinType.InnerJoin, elementsToCompare: elementsToCompare, comparatorOptions: options) .Select(result => result.GetResultDocument()).zSave(resultFile); RunSource.CurrentRunSource.SetResult(zmongo.FileReader<BsonDocument>(resultFile) .Select(doc => new BsonDocument { { "result", doc["result"] } }).zToDataTable2_old()); }
public static void Test_Compare(string file1, string file2, string resultFile, IEnumerable <string> elementsToCompare = null, BsonDocumentComparatorOptions options = BsonDocumentComparatorOptions.ReturnNotEqualDocuments) { //string file1 = @"c:\pib\dev_data\exe\runsource\test_unit\Print\FindPrint\FindPrint_out_bson.txt"; //string file2 = @"c:\pib\dev_data\exe\runsource\test_unit\Print\FindPrint\_archive\FindPrint_v1_SelectPost_02\FindPrint_out_bson.txt"; //string resultFile = @"c:\pib\dev_data\exe\runsource\test_unit\Print\FindPrint\test_compare.txt"; file1 = zPath.Combine(GetDirectory(), file1); file2 = zPath.Combine(GetDirectory(), file2); if (elementsToCompare == null) { elementsToCompare = new string[] { "findPrint_file" } } ; resultFile = zPath.Combine(GetDirectory(), resultFile); BsonDocumentComparator.CompareBsonDocumentFilesWithKey(file1, file2, "post_title", "post_title", joinType: pb.Linq.JoinType.InnerJoin, elementsToCompare: elementsToCompare, comparatorOptions: options) .Select(result => result.GetResultDocument()).zSave(resultFile); RunSource.CurrentRunSource.SetResult(zmongo.FileReader <BsonDocument>(resultFile) .Select(doc => new BsonDocument { { "result", doc["result"] } }).zToDataTable2_old()); }