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); }
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; }