NDB.RemoteDB.GetChanges C# (CSharp) Method

GetChanges() public method

Get all changes from the database since a given change revision
public GetChanges ( string server, string db, bool includeDocs = false, long since ) : JsonData
server string The server URL
db string The database name
includeDocs bool
since long sequence number for the last checkpoint, defaults to 0 i.e. all changes
return LitJson.JsonData
        public JsonData GetChanges(string server, string db,bool includeDocs = false,long since=0)
        {
            JsonData sync = null;
            string result = DoRequest(server + "/" + db + "/_changes?since=" + since.ToString() + "&include_docs=" + Convert.ToString(includeDocs).ToLower(), "GET");

            sync= JsonMapper.ToObject(result);

            return sync;
        }

Usage Example

示例#1
0
        public long ReplicateWith(string server, string database, bool reset = false)
        {
            long docsSync = 0;

            RemoteDB remoteDB = new RemoteDB();

            long lastSync = GetLastSync(server + "/" + database);

            if (reset)
            {
                lastSync = 0;
            }
            JsonData docs = remoteDB.GetChanges(server, database, true, lastSync);

            foreach (JsonData result in docs["results"])
            {
                string id  = (string)result["id"];
                string rev = (string)result["changes"][0]["rev"];
                //    //result.Remove("_rev");
                //    //result.Remove("_id");

                string doc = result["doc"].ToJson();

                try
                {
                    PutDoc(id, doc, rev);
                }
                catch (Exception ee)
                {
                    Debug.WriteLine(ee.ToString());
                }
            }
            docsSync = docs["results"].Count;
            ///Debug.WriteLine("Document sync: " + docs.results.Count);
            ////Debug.WriteLine(AllDocs());
            SetLastSync(server + "/" + database, (int)docs["last_seq"]);

            docs     = null;
            remoteDB = null;

            return(docsSync);
        }
All Usage Examples Of NDB.RemoteDB::GetChanges