#啟動mongod db 服務(wù)
mongod --config /usr/local/etc/mongod.conf &
#正式環(huán)境啟動 mongo db 服務(wù)
mongod --bind_ip=127.0.0.1 --auth --config /usr/local/etc/mongod.conf &
#mongo db 創(chuàng)建超級管理員
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創(chuàng)建普通管理員-某個db
db.createUser(
? {
? ? user: "tester",
? ? pwd: "xyz123",
? ? roles: [ { role: "readWrite", db: "test" },
? ? ? ? ? ? { role: "read", db: "reporting" } ]
? }
)
#鏈接mongo db 數(shù)據(jù)庫
mongo --port 27017 -u "tester" -p "xyz123"? --authenticationDatabase "test"
#mongodb 創(chuàng)建集合
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 聯(lián)表查詢
#$lookup 聯(lián)表查詢违寿,
#$match? 過濾查詢條件
#$unwind 變成獨立數(shù)據(jù)
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 多聯(lián)表查詢(涉及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 聯(lián)表查詢湃交,設(shè)置查詢的字段
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 使用關(guān)聯(lián)表里字段進行條件過濾,注意 $match要放在 $unwind后面
db.product.aggregate([
{
$lookup:
{
? ? from:"orders",
? ? localField:"_id",
? ? foreignField:"pid",
? ? as:"inventory_docs"
}
},
{ $match : {"inventory_docs.ordername":"訂單4"} },
])
#mongodb 導(dǎo)出
./mongoexport -d my_mongodb -c user -o user.dat
mongodump -h 127.0.0.1 -u fafa -p --db test -out ./test.json