public object Insert(IDictionary<string, object> obj, bool safe = false)
{
Contract.Requires(obj != null);
if (!"_id".Equals(obj.Keys.FirstOrDefault()))
{
obj = new Doc(obj);
}
Database.Connection.Say(msg => msg.WriteInsert(FullName, new IDictionary<string, object>[] { obj }), safe);
return obj["_id"];
}