Các lệnh cơ bản MongoDB

https://vietjack.com/mongodb/tao_collection_trong_mongodb.jsp

Sử dụng mongodb cũng chỉ cần thông qua một số câu lệnh đơn giản, chủ yếu là insert, update, find và remove.

1. Kiểm tra phiên bảng Mongodb

Lệnh mongo: lệnh này giúp bạn vào dấu nhắc lệnh bắt đầu thao tác với MongoDB, Lệnh này kết nối mặc định với localhost và port 27017

2. Show tất cả db

show dbs

3. Chuyển sang 1 db mới

use mydb. // mydb là database bạn muốn chuyển tới

4. Kiểm tra DB đang thao tác

db

5. Export 1 collection ra 1 file json

mongoexport -d shopping -c users -o E:\DMongoStore\export\users.js

Xuất collection users ra file json users.js từ database shopping



6. Xóa 1 collection

db.users.drop()

users là tên collection

6. Tạo 1 collection

Cú pháp cơ bản của lệnh createCollection() trong MongoDB như sau:
db.createCollection(name, options)
Trong lệnh trên, name là tên của Collection. Options là một Document và được sử dụng để xác định cấu hình cho Collection.
Tham sốKiểuMiêu tả
NameChuỗiTên của Collection
OptionsDocument(Tùy ý) Xác định các tùy chọn về kích cỡ bộ nhớ và việc lập chỉ mục
1. Kết nối đến mongodb.
Tương tự khi sử dụng sql thì phải kết nối đến database, mongodb cũng vậy:
$m = new Mongo(“mongodb://${username}:${password}@localhost”);
Lệnh này khởi tạo kết nối đến server cài đặt mongodb, mặc định nếu không có tham số sẽ là localhost với cổng port = 27017.
Tiếp theo là lệnh chọn database
$db = $m->google; //Với database có tên “google”;
Tiếp theo chọn collection (collection tương tự như chọn một bảng trong cơ sở dữ liệu quan hệ sql):
$collection = $db->user;
Vậy là quá trình kết nối đã hoàn tất, để nắm rõ hơn quá trình này thì các bạn có thể truy cập trực tiếp vào trang chủ php.net theo đường dẫn: http://www.php.net/manual/en/mongo.connecting.php


2. Lệnh insert:
Lệnh được sử dụng để thêm dữ liệu mới vào collection tương tự như lệnh insert trong sql
Ví dụ: thêm một bản ghi về user vào collection user đã kết nối ở trên:
$aryUser = array(‘username’=>’google’, ‘age’=>27, ‘phone’=>’098888888’);
$collection ->insert($aryUser);
3. Lệnh update:
Khi muốn thay đổi thong tin của một bản ghi thì các bạn có thể dùng lệnh update, tương tự lệnh update trong sql
Ví dụ: thay đổi tuổi của user có username là google:
$aryUser = array(‘username’=>’google’);
$set = array( ‘$set’ => array(‘age’ => 28) );
$collection->update($aryUser, $set);
4. Lệnh find:
Được dùng để truy vấn vào collection để lấy các bản ghi cần thiết.
Ví dụ: lấy thông tin user có username là ‘google’
$infoUser = $collection->find(array(‘username’=>’google’));
foreach ($infoUser as $user) {
print_r($user);
}
Kết quả sẽ là:
Array ( [_id] => MongoId Object ( [$id] => … ) [username’] => ’google’ [age’] => 28 [phone]=>098888888)
Trên đây là một số lệch cơ bản hay dùng khi thao tác với cơ sở dữ liệu NoSQL MongoDB, để nắm được rõ hơn cá lệnh khi chuyển từ SQL sang MongoDB các bạn có thể tham khảo bảng sau:
SQL Statement
Mongo Statement
CREATE TABLE USERS (a Number, b Number)implicit; can also be done explicitlywithdb.createCollection(“mycoll”)
ALTER TABLE users ADD …implicit
INSERT INTO USERS VALUES(3,5)db.users.insert({a:3,b:5})
SELECT a,b FROM usersdb.users.find({}, {a:1,b:1})
SELECT * FROM usersdb.users.find()
SELECT * FROM users WHERE age=33db.users.find({age:33})
SELECT a,b FROM users WHERE age=33db.users.find({age:33}, {a:1,b:1})
SELECT * FROM users WHERE age=33 ORDER BY namedb.users.find({age:33}).sort({name:1})
SELECT * FROM users WHERE age>33db.users.find({age:{$gt:33}})
SELECT * FROM users WHERE age!=33db.users.find({age:{$ne:33}})
SELECT * FROM users WHERE name LIKE “%Joe%”db.users.find({name:/Joe/})
SELECT * FROM users WHERE name LIKE “Joe%”db.users.find({name:/^Joe/})
SELECT * FROM users WHERE age>33 AND age<=40db.users.find({‘age’:{$gt:33,$lte:40}})
SELECT * FROM users ORDER BY name DESCdb.users.find().sort({name:-1})
SELECT * FROM users WHERE a=1 and b=’q’db.users.find({a:1,b:’q’})
SELECT * FROM users LIMIT 10 SKIP 20db.users.find().limit(10).skip(20)
SELECT * FROM users WHERE a=1 or b=2db.users.find( { $or : [ {a:1} , {b:2} ] } )
SELECT * FROM users LIMIT 1db.users.findOne()
SELECT order_id FROM orders o, order_line_items li
WHERE li.order_id=o.order_id AND li.sku=12345
db.orders.find({“items.sku”:12345},{_id:1})
SELECT customer.name FROM customers,orders
WHERE orders.id = “q179”
AND orders.custid = customer.id
var o = db.orders.findOne({_id:”q179″});var name = db.customers.findOne({_id:o.custid})
SELECT DISTINCT last_name FROM usersdb.users.distinct(‘last_name’)
SELECT COUNT(*y)FROM usersdb.users.count()
SELECT COUNT(*y)FROM users where AGE > 30db.users.find({age: {‘$gt’: 30}}).count()
SELECT COUNT(AGE) from usersdb.users.find({age: {‘$exists’: true}}).count()
CREATE INDEX myindexname ON users(name)db.users.ensureIndex({name:1})
CREATE INDEX myindexname ON users(name,ts DESC)db.users.ensureIndex({name:1,ts:-1})
EXPLAIN SELECT * FROM users WHERE z=3db.users.find({z:3}).explain()
UPDATE users SET a=1 WHERE b=’q’db.users.update({b:’q’},{$set:{a:1}},false,true)
UPDATE users SET a=a+2 WHERE b=’q’db.users.update({b:’q’},{$inc:{a:2}},false,true)
DELETE FROM users WHERE z=”abc”db.users.remove({z:’abc’});

Nhận xét

Bài đăng phổ biến từ blog này

Truy vấn dữ liệu trong MongoDB

Cách tạo một project Express với express-generator trong Window