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