zoukankan      html  css  js  c++  java
  • mongo杂记

    将list转化为IEnumrable<BsonValue>可通过new BsonArray(list)实现;

     class questionInfo
        {
            public int _id { get; set; }  //试题id
            public List<questionSameInfo> Samequestions { get; set; } 
            public int IsMaster { set; get; }
        }

    public class questionSameInfo
        {
            public int Id { get; set; } 
        }

    如果文档中存储的是如上的结构,想删除所有Samequestions中Id为1的项,可用如下方法:
     var query = Query.EQ("Samequestions._id",_id);
    var up = Update.Pull("Samequestions",Query.EQ("_id",_id));
     var result = helper.UpdateAll(query, up);//helper为mongo数据库操作帮助类

    在mongo客户端操作mongo数据库时,如果要给上述结构的Samequeions中的Id添加索引,可用如下方法:

    > db.ddt_t_question.ensureIndex({"Samequestions._id":1})//注意是需要添加引号的  在第一层次添加索引是不需要添加索引的

    如果想查询Samequeions中的数组长度大于2的项,可用如下方法:

    > db.ddt_t_question.find({"$where":"this.Samequestions.length>2"})

    如果想查询Samequeions中的数组长度等于2的项,可用如下方法:

    > db.ddt_t_question.findOne({"Samequestions":{"$size":2}})

    如果想在mongo客户端删除Samequestions列表下所有_id为206020的项,命令应该这么写:

    >db.ddt_t_question.update({"_id":{$gt:-1}},{$pull:{"Samequestions":{"_id":206020}}},false,true)

    3.0.3版本添加用户:db.createUser({user:"webuser",pwd:"12345QAZxsw",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});

    根据配置文件启动Mongo:./mongod --config /etc/mongodb.conf

  • 相关阅读:
    mysql的undo log和redo log
    MySQL表的定期分析检查优化
    MySQL 数据库设计总结
    Innodb引擎下mysql自身配置优化
    linux的top命令参数详解
    InnoDB的关键特性-插入缓存,两次写,自适应hash索引
    第一次接私活亲身经历
    码农与技术控
    软件公司与非软件公司区别(纯个人看法)
    SQL Server表 & 存储过程 创建日期查询
  • 原文地址:https://www.cnblogs.com/zhenfeng/p/4307504.html
Copyright © 2011-2022 走看看