mongodb使用笔记

前端之家收集整理的这篇文章主要介绍了mongodb使用笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Update

db.collection.update(
   ,,{
     upsert: ,multi: ,writeConcern: 
   }
)

1.部分更新

db.teacher_collection.update({name:"cobble"},{age:55})

更新时,新的对象会覆盖原有的对象,上面的更新会把cobble对象的其他字段都删除,最后只有age字段;如果需要部分更新,使用 $set

db.teacher_collection.update({name:"cobble"},{$set:{age:55}})

删除数据

db.collection.remove(
   ,{
     justOne: ,writeConcern: ,collation: 
   }
)

remove必须带有参数,如果想删除所有数据就drop掉这个表。

创建全文索引

mongodb中一个集合只能包含一个全文索引

db.collection.createIndex({key:"text"});  //在key字段上建立全文索引
db.collection.createIndex({key_1:"text",key_2:"text"}); //在key_1和key_2字段上建立全文索引
db.collection.createIndex({"$**":"text"});   //在集合中所有字段上建立全文索引
db.collection.createIndex( { a: 1,"$**": "text" } ) //与所有文本索引一样,通配符文本索引可以是复合索引的一部分

使用全文索引查询

db.collection.find({$text:{$search:"coffee"}});    //全文检索包含coffe的记录
db.collection.find({$text:{$search:"coffee cup"}});  //全文检索包含coffee或cup的记录,空格表示或
db.collection.find({$text:{$search:"coffee cup -cat"}});   //全文检索包含coffee或cup,但包含cat的记录
db.collection.find({$text:{$search:"\"coffee\" \"cup\""}}); //全文检索包含coffee和cup的记录,双引号表示且

相似度查询

//查询出相似度,并根据相似度进行排序
db.collection.find({$text:{$search:"coffee cup"}},{score:{$Meta:"textscore"}}).sort({score:{$Meta:"textscore"}});

全文索引的限制

索引的稀疏性

db.collection.createIndex({key:1},{sparse:true})

查找只存在指定字段的数据

`db.collection.find({fieldname:{$exists:true}})

位置索引

mongostat工具

mongostat -h ip:port

profile在项目早期使用,后期数据较大时不建议用,影响性能

配置文件中配置verbose来这只日志的详细度,verbose的值是一个到五个v,v越多日志记录越详细

权限认证

配置文件auth = true

创建用户

猜你在找的MongoDB相关文章