示例#1
0
        // 初始化
        public int Init(string configFile,
                        out string error)
        {
            error = "";

            // 解析xml
            XmlDocument dom = new XmlDocument();

            try
            {
                dom.Load(configFile);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(-1);
            }
            XmlNode root = dom.DocumentElement;

            /*
             * <root>
             * <datasource servertype="mognodb" servername="mongodb://localhost:27017"  userid="" password=""  />
             * <keysize>255</keysize>
             * <db name="bible" idrule='guid' seed='1' />
             * <db name="entity" idrule='guid' seed='1'/>
             * </root>
             */
            this.Connection = DomUtil.GetElementAttr(root, "datasource", "servername");
            this.MClient    = new MongoClient(this.Connection);

            string keysizeStr = DomUtil.GetElementText(root, "keysize");

            this.keysize = Convert.ToInt32(keysize);

            XmlNodeList dbList = root.SelectNodes("db");

            foreach (XmlNode node in dbList)
            {
                string name = DomUtil.GetElementAttr(node, "", "name");
                if (name == "biblio")
                {
                    this.BiblioDb = new BiblioDatabase(node);
                }
                else if (name == "entity")
                {
                    this.EntityDb = new EntityDatabase(node);
                }
                else
                {
                    // 不支持的数据库类型
                }
            }

            return(0);
        }
示例#2
0
        // <db name="bible" idrule='guid' seed='1' />
        public BaseDatabase(XmlNode node)
        {
            this.Name   = DomUtil.GetElementAttr(node, "", "name");
            this.IdRule = DomUtil.GetElementAttr(node, "", "idrule");

            string seedStr = DomUtil.GetElementAttr(node, "", "seed");

            if (string.IsNullOrEmpty(seedStr) == false)
            {
                this.Seed = Convert.ToInt32(seedStr);
            }

            // 根据连接字符串,打开mongodb库
            this.Database         = DbWrapper.Instance.MClient.GetDatabase(this.Name);
            this.RecordCollection = this.Database.GetCollection <Record>("record");

            //todo
            // 创建索引
        }