• MongoDB命令使用示例


    用图书的示例来说明一下mongodb命令的使用。

    添加

    插入一个图书文档:

    db.books.insert({name:’深入学习MongoDB’});

    然后,可以看一下是否插入成功了:

    db.books.find();

    打印的结果类似这样:

    { “_id” : ObjectId(“4f8e8a8e7a919fd8a1a37e2d”), “name” : “深入学习MongoDB” }

    好了,现在不想要这条记录了,删除掉:

    db.books.remove();

    再次使用find(),就不会打印内容了。这里要注意,remove()将删除集合中所有文档。如何删除指定条件的文档,后面再说。

    修改

    再次创建一个图书文档:

    db.books.insert({name:’钱的历史’,items:[]});

    这里我增加了一个空数组,后面有用。

    现在我要将图书名称(name)改为:深入学习MongoDB。

    命令:

    db.books.update({_id:ObjectId(“4f8e8a8e7a919fd8a1a37e2d”)},{name:’深入学习MongoDB’},false);

    上述命令的缺点是,items属性没有了。如果只想修改图书的名称,而不影响文档的其他属性,可以这样:

    db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″)},{$set:{name:’Deep in MongoDB’}},false);

    现在,我想往空数组里添加一些东西,比如,一个条目:

    {_id:ObjectId, type:’chapter’,items:[]}

    那么,命令如下:

     db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);

    看一下显示的结果:

    {
    “_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
    “items” : [
    {
    "_id" : ObjectId("4f8eaf227a919fd8a1a37e2e"),
    "type" : "chapter",
    "items" : [ ]
    }
    ],
    “name” : “野外维生食物”
    }

    现在我们想在4f8eaf227a919fd8a1a37e2e的条目的数组中加入内容,怎么做呢?要用到push,它可以向指定的数组追加元素:

    db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);

    现在我又发现追加的元素的type值错了,想改成section:

    db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$set:{‘items.$.type’:'section’}},false);

    我是否能在items的元素的items数组中再追加元素呢?答案是肯定的:

    db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$push:{‘items.$.items’:{_id:new ObjectId(),type:’section’,items:[]}}},false);

    追加后的结果类似这样:

    {
    “_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
    “items” : [
    {
    "_id" : ObjectId("4f8ef10b7a919fd8a1a37e32"),
    "items" : [
    {
    "_id" : ObjectId("4f8ef4d17a919fd8a1a37e33"),
    "type" : "section",
    "items" : [ ]
    }
    ],
    “type” : “chapter”
    }
    ]
    }

    删除

    如果文档添加了不该有的属性,想删除,比如:

    db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$push:{hello:’test1′}},false);

    为文档增加了一个没用的属性,he l lo,这是个数组。

    删除它:

    db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$unset:{hello:1}},false);

  • 相关阅读:
    Raid5 Raid10性能测试
    MetaData_model_package
    UBoot命令说明
    ubuntu 12.10 配置一个Apache+MySQL+phpMyAdmin环境
    SSH服务器
    VC2008使用boost库方式
    嵌入式Web服务器BOA移植
    利用matlab将数据写入指定列的方法
    error LNK2019: 无法解析的外部符号,解决办法
    在CYGWIN下编译和运行软件Bundler ,以及PMVS,CMVS的编译与使用
  • 原文地址:https://www.cnblogs.com/qq75077027/p/2834731.html
Copyright © 2020-2023  润新知