Trong phần hướng dẫn trước, chúng ta đã học về cách truy vấn tài liệu, về các toán tử logic và cách chọn các trường cụ thể. Vui lòng kiểm tra xem
Tài liệu nhúng hoặc lồng nhau
Đối với hướng dẫn này, hãy tiếp tục và tạo một số tài liệu được nhúng. Vì vậy, hãy kết nối với máy chủ MongoDB của bạn và chạy lệnh sau để chèn một số tài liệu vào bộ sưu tập hình dạng
> db.shapes.insertMany[[
{
"shape": "rectangle",
"item": "Rect 1",
"dim": {
"length": 10,
"breadth": 20,
"uom": "cm"
}
},
{
"shape": "rectangle",
"item": "Rect 2",
"dim": {
"length": 20,
"breadth": 30,
"uom": "cm"
}
},
{
"shape": "rectangle",
"item": "Rect 3",
"dim": {
"length": 5,
"breadth": 10,
"uom": "cm"
}
},
{
"shape": "square",
"item": "Sq 1",
"dim": {
"side": 10.5,
"uom": "cm"
}
},
{
"shape": "square",
"item": "Sq 2",
"dim": {
"side": 20,
"uom": "cm"
}
},
{
"shape": "square",
"item": "Sq 3",
"dim": {
"side": 15,
"uom": "inch"
}
},
{
"shape": "square",
"item": "Sq 4",
"dim": {
"side": 25.5,
"uom": "inch"
}
}
]];
Chúng tôi đã học cách tạo tài liệu nhúng trong hướng dẫn Chèn tài liệu. Vui lòng kiểm tra xem
Được rồi, hãy bắt đầu đơn giản sau đó tiến tới các vấn đề nâng cao
Tìm tất cả các hình chữ nhật
Để tìm tất cả các tài liệu trong bộ sưu tập shapes
đại diện cho một hình chữ nhật, chúng ta phải chạy lệnh sau
> db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
Tìm hình vuông có cạnh ít nhất 20 cm
Được rồi, chúng tôi hiện đang chuyển sang các tài liệu được nhúng
Đầu tiên chúng ta phải kiểm tra shape
bằng với square
Tiếp theo, chúng ta phải kiểm tra trường side
bên trong trường
> db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
0. Vì vậy, chúng tôi phải sử dụng > db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
1 trong bộ lọc của mìnhChúng ta phải đảm bảo rằng cạnh đó ít nhất là 20 cm, vì vậy, chúng ta phải sử dụng toán tử lớn hơn hoặc bằng
> db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
0 cho trường > db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
1Và đối với đơn vị đo lường
> db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
2, chúng ta phải kiểm tra > db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
3 bằng với > db.shapes.find[{ "shape": "rectangle" }].pretty[];
{
"_id" : ObjectId["5d175dffba3250e57f98faca"],
"shape" : "rectangle",
"item" : "Rect 1",
"dim" : {
"length" : 10,
"breadth" : 20,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facb"],
"shape" : "rectangle",
"item" : "Rect 2",
"dim" : {
"length" : 20,
"breadth" : 30,
"uom" : "cm"
}
}
{
"_id" : ObjectId["5d175dffba3250e57f98facc"],
"shape" : "rectangle",
"item" : "Rect 3",
"dim" : {
"length" : 5,
"breadth" : 10,
"uom" : "cm"
}
}
4