美文网首页
mongod常用命令

mongod常用命令

作者: 郑书发 | 来源:发表于2018-01-15 13:09 被阅读0次

    #启动mongod db 服务

    mongod --config /usr/local/etc/mongod.conf &

    #正式环境启动 mongo db 服务

    mongod --bind_ip=127.0.0.1 --auth --config /usr/local/etc/mongod.conf &

    #mongo db 创建超级管理员

    db.createUser(

      {

        user: "fafa",

        pwd: "abc123",

        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]

      }

    )

    db.createUser(

      {

        user: "fafa",

        pwd: "abc123",

        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]

      }

    )

    mongo --port 27017 -u "fafa" -p "abc123" --authenticationDatabase "admin"

    #mongodb创建普通管理员-某个db

    db.createUser(

      {

        user: "tester",

        pwd: "xyz123",

        roles: [ { role: "readWrite", db: "test" },

                { role: "read", db: "reporting" } ]

      }

    )

    #链接mongo db 数据库

    mongo --port 27017 -u "tester" -p "xyz123"  --authenticationDatabase "test"

    #mongodb 创建集合

    db.createCollection(name, options)

    #mongo db常用查询语句

    db.myCollection.find()

    db.myCollection.find().pretty()

    db.myCollection.findOne()

    #mongodb 分页查询

    db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

    #mongodb aggregate 联表查询

    #$lookup 联表查询,

    #$match  过滤查询条件

    #$unwind 变成独立数据

    db.product.aggregate([

    {

    $lookup:

    {

        from:"orders",

        localField:"_id",

        foreignField:"pid",

        as:"inventory_docs"

    },

    },

    { $match : { price : {$gt:20} } },

    { $unwind:"$inventory_docs" },

    { $project: {inventory_docs:1,_id:0}}

    ])

    #mongodb 多联表查询(涉及3个表)

    db.product.aggregate([

    {

    $lookup:

    {

        from:"orders",

        localField:"_id",

        foreignField:"pid",

        as:"inventory_docs"

    }

    },

    {

    $lookup:

    {

        from:"comments",

        localField:"_id",

        foreignField:"pid",

        as:"comments_docs"

    }

    },

    { $match : { price : {$gt:20} } },

    { $unwind:"$comments_docs" }

    ])

    #mongodb 联表查询,设置查询的字段

    db.product.aggregate([

    {

    $lookup:

    {

        from:"orders",

        localField:"_id",

        foreignField:"pid",

        as:"inventory_docs"

    },

    },

    { $match : { price : {$gt:20} } },

    { $project: {inventory_docs:1,_id:0}}

    ])

    db.product.aggregate([

    {

    $lookup:

    {

        from:"orders",

        localField:"_id",

        foreignField:"pid",

        as:"inventory_docs"

    },

    },

    { $match : { price : {$gt:20} } },

    ])

    $ops = array(

        array(

            '$lookup' => array(

                "from" => "orders",

                "localField"  => "_id",

                "foreignField" => "pid",

        "as"=>"inventory_docs"

            )

        ),

        array('$match' => array('price'=>array('$gt'=>20))),

        array(

            '$project' => array(

                "inventory_docs" => 1,

                "_id" =>0,

            ),

        ),

    );

    #mongodb 使用关联表里字段进行条件过滤,注意 $match要放在 $unwind后面

    db.product.aggregate([

    {

    $lookup:

    {

        from:"orders",

        localField:"_id",

        foreignField:"pid",

        as:"inventory_docs"

    }

    },

    { $match : {"inventory_docs.ordername":"订单4"} },

    ])

    #mongodb 导出

    ./mongoexport -d my_mongodb -c user -o user.dat

    mongodump -h 127.0.0.1 -u fafa -p --db test -out ./test.json

    相关文章

      网友评论

          本文标题:mongod常用命令

          本文链接:https://www.haomeiwen.com/subject/ohgroxtx.html