首页 > 数据库 >MongoDB随笔

MongoDB随笔

时间:2023-07-07 16:44:08浏览次数:39  
标签:name MongoDB db collection 查询 文档 随笔 String

db        //查询当前使用的数据库 show dbs     //查询所有的数据库 use 【dbname】  //使用数据库   ;如果没有这个数据库会直接创建这个数据库 db.createCollection("[collection_name]")      //创建集合(在sql中叫表) 例子: db.createCollection("student") 在集合中增删改查 文档(在sql中叫(行;记录;row)) 增加: db.[collection_name].insert([json格式]) 替换: db.[collection_name].update({[被替换的文档]}),{[替换的文档]} 修改:        $set修改器 db.[collection_name].update({[要修改的文档]}),{$set:{[替换的文档]}},{multi:[true/false]} 注意:multi:false不是更新第一个匹配的文档,true不是更新所有匹配的文档 删除: db.[collection_name].remove({[可以添加条件删除符合条件的文档]}) 查询: db.[collection_name].find([{可以添加条件}])          投影查询:      db.[collection_name].find([{查询条件}],{[field_name]:[0/1]})      说明:[document_name]:[0/1]   --》 0表示所投影的域(field(在sql中表示字段或者column(列))), 创建用户: db.createUser({user:"root",pwd:"root",roles:[{role:"root",db:"admin"}]}) 说明     db:"[可以使用的数据库]" 在配置文件中添加,使用认证登录 #开启认证 auth=true 登录实例:    mongo.exe -u root -p root --authenticationDatabase admin         删除用户: db.dropUser("用户名")         修改用户: use admin db.updateUser("被修改的用户",{roles:[{role:"readWriteAnyDatabase",db:"admin"}]})         修改密码: use admin db.changeUserPassword("被修改密码的用户名"."新密码")     在Spring Boot查询时的使用

// 对于MongoDB的Dao ,继承MongoRepository,其中CmsPage为模型,String为组件的类型
public interface CmsPageRepository extends MongoRepository<CmsPage,String> {
                                            //关于实现在,在Test中,MongoRepository有很多可以直接使用的查询方法
         //根据页面名称查询
         CmsPage findByPageName(String pageName);
        //验页面名称,站点ID 页面Path的唯一性
        CmsPage findByPageNameAndSiteIdAndPageWebPath(String PageName,String siteId,String pageWebPath);

//        Optional<CmsPage> findById(String pageId);
}

这上面findByPageName就是查询PageName条件,下面的findByPageNameAndSiteIdAndPageWebPath同理,只不过是3个条件。

================================================================================================================================================

对于上面Dao的模型类我在写的时候发现一个问题,以下面这个为例子记录一下

@Data
@ToString
@Document(collection = "sys_dictionary")
public class SysDictionary {

    @Id
    private String id;

    @Field("d_name")
    private String dName;

    @Field("d_type")
    private String dType;

    @Field("d_value")
    private List<SysDictionaryValue> dValue;

}

我在没有使用@Field("d_name")的时候,直接命名private String d_Name    注意这个下划线,我在使用findByd_Name的时候,好像只是在find  d  ,下划线后面的_Name全不见了,

这时候就需要加上@Field("d_name")才找到值。

上面的@Document(collection = "sys_dictionary") 和 public class SysDictionary 也同理。

 

标签:name,MongoDB,db,collection,查询,文档,随笔,String
From: https://www.cnblogs.com/lksses/p/17535384.html

相关文章

  • 第一篇随笔 | 写给正式开工的自己
    关于工作环境的思考其实现在这套工作环境是今年4月底完成搭建的,一直到今天我才开始调整,才发现其实有很多不方便在里面。切换平台,例如从mac换到win,还需要把键鼠再取出来,很麻烦宿舍放置了一个大书架,其实很占地方有一个桌子,为什么不用呢?看样子需要把书架处理掉,把桌子用上mac环......
  • MongoDB
    MongoDBMongoDB基础知识MongoDB基本概念MongoDB是一个基于分布式文件存储的数据库。由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB最大的特点就......
  • 【CDX随笔总结】P1_Vertex 的整理和分析【未完成,持续编写】
    效果图提交单:https://github.com/CartmanORCamille/CDX/commit/afc7a52fc96466ddb1ab5233e4986bb739037e33关键点渲染管线基础。C与C++交叉编译和全局变量。位表(键盘事件,摄像机视角与观察点)。渲染几何体基础画一个正方体【猜测】demo里(gif图)在旋转的时候看不到底......
  • Spring Boot中Service层依赖注入问题随笔
    问题描述: Controller 层方法为 static 静态,引入 Service 层时使用 @Autowired 注解自动装配,Controller层方法里无法调用Service层,于是加static修饰Service层的注入产生错误:调用Service层进行数据库操作时,注入的Service层报空指针异常( NullPointerException )......
  • MongoDB数据库部署与应用
    MongoDB数据库部署与应用拓扑图:推荐步骤:在Centos01上安装mongoDB数据库管理mongoDB服务生成MongoDB配置文件通过控制文件控制MongoDB服务,配置MongoDB身份验证配置mongoDB身份验证管理和修改配置文件支持验证配置mongoDB基本管理配置MongoDB数据备份恢复实验步骤:一.在Centos01上安装m......
  • 阿里云 MongoDB 创建库添加用户并授权
    先通过root进到admin库,右击test选择用户管理测试连接......
  • linux随笔
    1定时任务*/2****root/usr/sbin/ntpdate10.6.131.22>/dev/null2>&1  2删除卡死namspacekubectlproxycurl-k-H"Content-Type:application/json"[email protected]:8001/api/v1/namespaces/system-monitoring/f......
  • .Net下验证MongoDB 的 Linq 模式联合查询是否可用
    MongoDB.Driver类库提供了Linq查询的支持。然而,在使用Linq进行联合查询时,是否能够正确转换为MongoDB底层的查询语句还有待验证。今天,我将进行实验来验证一下。输出查询语句首先,通过订阅MongoClientSettings的功能,将查询语句输出。varsettings=MongoCli......
  • 开发中MongoDB遇到的各种问题
    目录一、安装6版本以下二、安装6版本及以上三、安装6版本以下(解压版)四、配置本地WindowsMongoGB服务五、navicat连接远程mongodb数据库六、ip不一致问题一、安装6版本以下安装MongoDB6版本以下的可以参考以下博主->自动安装版(26条消息)MongoDB安装(超详细)_AIbro的博客-C......
  • 第一周随笔
    第一周作业1.图文并茂解释开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?GPL(GNUGeneralPublicLicense)是一种开源许可证,它要求任何使用、修改或分发被授权软件的人必须将其代码开源,并且任何以GPL许可证发布的软件都必须使用相同的许可证。这意味着GPL许可证下的软件......