/// <summary> /// 执行DBExpress动作 /// </summary> /// <param name="express"></param> /// <returns></returns> public object Excute(DBExpress express) { if (express is MongoExpress) { var mexpress = (MongoExpress)express; dynamic dexpress = mexpress.ToExpress(); string collectionname = ComFunc.nvl(dexpress.table); QueryDocument q = dexpress.query; UpdateDocument u = dexpress.update; FieldsBuilder f = dexpress.fields; FrameDLRObject insert = dexpress.insert; if (server.State == MongoServerState.Disconnected) { server.Reconnect(); } var collection = database.GetCollection <FrameDLRObject>(collectionname); if (mexpress.CurrentAct == DBExpress.ActType.Update) { collection.Update(q, u, UpdateFlags.Upsert); return(true); } else if (mexpress.CurrentAct == DBExpress.ActType.Insert) { collection.Insert(insert); return(true); } else if (mexpress.CurrentAct == DBExpress.ActType.Delete) { collection.Remove(q); return(true); } else { var cursor = collection.Find(q).SetFields(f); return(cursor.ToList()); } } else { return(false); } }
/// <summary> /// 执行DBExpress动作 /// </summary> /// <param name="express"></param> /// <returns></returns> public object Excute(DBExpress express) { if (express is MongoExpress) { var mexpress = (MongoExpress)express; dynamic dexpress = mexpress.ToExpress(); string collectionname = ComFunc.nvl(dexpress.table); BsonDocument q = dexpress.query; BsonDocument u = dexpress.update; BsonDocument f = dexpress.fields; FrameDLRObject insert = dexpress.insert; var collection = database.GetCollection <FrameDLRObject>(collectionname); if (mexpress.CurrentAct == DBExpress.ActType.Update) { collection.UpdateMany(q, u); return(true); } else if (mexpress.CurrentAct == DBExpress.ActType.Insert) { collection.InsertOne(insert); return(true); } else if (mexpress.CurrentAct == DBExpress.ActType.Delete) { collection.DeleteMany(q); return(true); } else { var cursor = collection.Find(q).Project(f); return(cursor.ToList()); } } else { return(false); } }