当前位置: 首页>>代码示例>>C#>>正文


C# BSONDocument.ToByteArray方法代码示例

本文整理汇总了C#中BSONDocument.ToByteArray方法的典型用法代码示例。如果您正苦于以下问题:C# BSONDocument.ToByteArray方法的具体用法?C# BSONDocument.ToByteArray怎么用?C# BSONDocument.ToByteArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BSONDocument的用法示例。


在下文中一共展示了BSONDocument.ToByteArray方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: EJDBQuery

 internal EJDBQuery(EJDB jb, BSONDocument qdoc, string defaultcollection = null)
 {
     _qptr = _ejdbcreatequery(jb.DBPtr, qdoc.ToByteArray());
     if (_qptr == IntPtr.Zero) {
         throw new EJDBQueryException(jb);
     }
     _jb = jb;
     _defaultcollection = defaultcollection;
 }
开发者ID:JulianLiu,项目名称:ejdb,代码行数:9,代码来源:EJDBQuery.cs

示例2: Save

 bool Save(IntPtr cptr, BSONDocument doc, bool merge)
 {
     bool rv;
     BSONValue bv = doc.GetBSONValue("_id");
     byte[] bsdata = doc.ToByteArray();
     byte[] oiddata = new byte[12];
     //static extern bool _ejdbsavebson([In] IntPtr coll, [In] byte[] bsdata, [Out] byte[] oid, bool merge);
     rv = _ejdbsavebson(cptr, bsdata, oiddata, merge);
     if (rv && bv == null) {
         doc.SetOID("_id", new BSONOid(oiddata));
     }
     if (_throwonfail && !rv) {
         throw new EJDBException(this);
     }
     return  rv;
 }
开发者ID:kotanjan220,项目名称:ejdb,代码行数:16,代码来源:EJDB.cs

示例3: SetHints

 /// <summary>
 /// Sets the query hints. 
 /// </summary>
 /// <remarks>
 /// Replaces previous hints associated with this query.
 /// </remarks>
 /// <returns>This query object.</returns>
 /// <param name="hints">Hints document.</param>
 public EJDBQuery SetHints(BSONDocument hints)
 {
     CheckDisposed();
     //0F-00-00-00-10-24-6D-61-78-00-0A-00-00-00-00
     //static extern IntPtr _ejdbqueryhints([In] IntPtr jb, [In] IntPtr qptr, [In] byte[] bsdata);
     IntPtr qptr = _ejdbqueryhints(_jb.DBPtr, _qptr, hints.ToByteArray());
     if (qptr == IntPtr.Zero) {
         throw new EJDBQueryException(_jb);
     }
     _hints = hints;
     return this;
 }
开发者ID:JulianLiu,项目名称:ejdb,代码行数:20,代码来源:EJDBQuery.cs

示例4: Command

 /// <summary>
 /// Executes EJDB command.
 /// </summary>
 /// <remarks>
 /// Supported commands:
 ///
 /// 1) Exports database collections data. See ejdbexport() method.
 /// 
 /// 	"export" : {
 /// 	"path" : string,                    //Exports database collections data
 /// 	"cnames" : [string array]|null,     //List of collection names to export
 /// 	"mode" : int|null                   //Values: null|`JBJSONEXPORT` See ejdb.h#ejdbexport() method
 /// }
 /// 
 /// Command response:
 /// {
 /// 	"log" : string,        //Diagnostic log about executing this command
 /// 	"error" : string|null, //ejdb error message
 /// 	"errorCode" : int|0,   //ejdb error code
 /// }
 /// 
 /// 2) Imports previously exported collections data into ejdb.
 /// 
 /// 	"import" : {
 /// 	"path" : string                     //The directory path in which data resides
 /// 		"cnames" : [string array]|null,     //List of collection names to import
 /// 		"mode" : int|null                //Values: null|`JBIMPORTUPDATE`|`JBIMPORTREPLACE` See ejdb.h#ejdbimport() method
 /// }
 /// 
 /// Command response:
 /// {
 /// 	"log" : string,        //Diagnostic log about executing this command
 /// 	"error" : string|null, //ejdb error message
 /// 	"errorCode" : int|0,   //ejdb error code
 /// }
 /// </remarks>
 /// <param name="cmd">Command object</param>
 /// <returns>Command response.</returns>
 public BSONDocument Command(BSONDocument cmd)
 {
     CheckDisposed();
     byte[] cmdata = cmd.ToByteArray();
     //internal static extern IntPtr _ejdbcommand([In] IntPtr db, [In] byte[] cmd);
     IntPtr cmdret = _ejdbcommand(_db, cmdata);
     if (cmdret == IntPtr.Zero) {
         return null;
     }
     byte[] bsdata = BsonPtrIntoByteArray(cmdret);
     if (bsdata.Length == 0) {
         return null;
     }
     BSONIterator it = new BSONIterator(bsdata);
     return it.ToBSONDocument();
 }
开发者ID:kkk777kkk,项目名称:ejdb,代码行数:54,代码来源:EJDB.cs

示例5: TestIterate1

        public void TestIterate1()
        {
            var doc = new BSONDocument();
            doc["a"] = "av";
            doc["bb"] = 24;
            //doc["ccc"] = BSONDocument.ValueOf(new{na1 = 1, nb = "2"});
            //doc["d"] = new BSONOid("51b9f3af98195c4600000000");

            //17-00-00-00 						+4
            //02-61-00-03-00-00-00-61-76-00		+10
            //10-62-62-00-18-00-00-00			+8
            //00								+1
            Assert.AreEqual("17-00-00-00-02-61-00-03-00-00-00-61-76-00-10-62-62-00-18-00-00-00-00",
                            doc.ToDebugDataString());
            BSONIterator it = new BSONIterator(doc);
            Assert.AreEqual(doc.ToByteArray().Length, it.DocumentLength);
            var c = "";
            while (it.Next() != BSONType.EOO) {
                c += it.CurrentKey;
            }
            Assert.AreEqual("abb", c);
            it.Dispose();

            it = new BSONIterator(doc);
            var cnt = 0;
            while (it.Next() != BSONType.EOO) {
                BSONValue bv = it.FetchCurrentValue();
                Assert.IsNotNull(bv);
                if (cnt == 0) {
                    Assert.IsTrue(bv.BSONType == BSONType.STRING);
                    Assert.IsTrue(bv.Key == "a");
                    Assert.AreEqual("av", bv.Value);
                }
                if (cnt == 1) {
                    Assert.IsTrue(bv.BSONType == BSONType.INT);
                    Assert.IsTrue(bv.Key == "bb");
                    Assert.AreEqual(24, bv.Value);
                }
                cnt++;
            }
        }
开发者ID:rayleyva,项目名称:ejdb,代码行数:41,代码来源:TestBSON.cs

示例6: TestSerialize1

        public void TestSerialize1()
        {
            byte[] bdata;
            BSONDocument doc = new BSONDocument();
            doc.SetNumber("0", 1);
            //0C-00-00-00 	len
            //10		  	type
            //30-00 		key
            //01-00-00-00	int val
            //00			zero term
            bdata = doc.ToByteArray();
            Assert.AreEqual("0C-00-00-00-10-30-00-01-00-00-00-00", doc.ToDebugDataString());
            Assert.AreEqual(bdata.Length, (int) Convert.ToByte(doc.ToDebugDataString().Substring(0, 2), 16));

            BSONDocument doc2 = new BSONDocument(doc.ToByteArray());
            Assert.AreEqual(1, doc2.KeysCount);
            int c = 0;
            foreach (BSONValue bv in doc2) {
                c++;
                Assert.IsNotNull(bv);
                Assert.AreEqual(BSONType.INT, bv.BSONType);
                Assert.AreEqual("0", bv.Key);
                Assert.AreEqual(1, bv.Value);
            }
            Assert.That(c > 0);
            doc2.SetNumber("0", 2);
            Assert.AreEqual(1, doc2.KeysCount);
            object ival = doc2["0"];
            Assert.IsInstanceOf(typeof(int), ival);
            Assert.AreEqual(2, ival);
            doc2.SetNumber("1", Int32.MaxValue);
            //13-00-00-00
            //10
            //30-00
            //02-00-00-00
            //10-31-00
            //FF-FF-FF-7F
            //00
            Assert.AreEqual("13-00-00-00-10-30-00-02-00-00-00-10-31-00-FF-FF-FF-7F-00",
                            doc2.ToDebugDataString());

            doc2 = new BSONDocument(doc2);
            Assert.AreEqual("13-00-00-00-10-30-00-02-00-00-00-10-31-00-FF-FF-FF-7F-00",
                            doc2.ToDebugDataString());

            doc2 = new BSONDocument(doc2.ToByteArray());
            Assert.AreEqual("13-00-00-00-10-30-00-02-00-00-00-10-31-00-FF-FF-FF-7F-00",
                            doc2.ToDebugDataString());

            doc = new BSONDocument();
            doc["a"] = 1;
            Assert.AreEqual("0C-00-00-00-10-61-00-01-00-00-00-00", doc.ToDebugDataString());
        }
开发者ID:rayleyva,项目名称:ejdb,代码行数:53,代码来源:TestBSON.cs


注:本文中的BSONDocument.ToByteArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。