MongoDB命令行的一些操作



  • 我们遇到了一个这样的需求:那就是对我们数据库中一些属性出现的字符串进行全局替换,替换成我们需要的字符串。于是我们就进入了艰难的MongoDB的学习当中了。

    首先我们学习的是MongoDB的find函数。find函数的文档在这里。这个函数非常强大,然而我们想要对其进行文本的查询,发现使用起来还是有一点麻烦的,原因是在使用这个函数之前,要建立文本索引。

    这里我使用了Robomongo交互式数据库操作工具来进行操作。给出我查找数据库链接的一些方法:

    db.getCollection('objects').createIndex( { value: "text", content: "text" }, { name: "LinkIndex" } )
    db.getCollection('objects').find( { $text: { $search: "\"7xq1ms.dl1.z0.glb.clouddn.com\"", $caseSensitive: false, $diacriticSensitive: false } } )
    

    这里caseSensitive代表的是是否大小写匹配,diacriticSensitive代表的是是否全词匹配。
    需要注意的是,如果发现createIndex函数出现ok为0的状况,那表明我们可能出现了错误,索引无法建立。可能上一步已经建立了索引了,这个时候又要使用一个函数dropIndexes()来清除索引。
    这里是我的使用方法:

    db.getCollection('objects').dropIndexes( )
    

    如果返回的是ok为1,那么表明索引已经成功清理了。

    下面是一些参考文档:
    MongoDB的find函数
    MongoDB的dropIndexes函数
    MongoDB的createIndex函数


登录后回复
 

与 萌梦社区 的连接断开,我们正在尝试重连,请耐心等待