Hướng dẫn can i use mongodb for e-commerce - tôi có thể sử dụng mongodb cho thương mại điện tử không

MongoDB là gì?

MongoDB là cơ sở dữ liệu NoQuery có thể được sử dụng thành công trong các ứng dụng hiện đại, phức tạp. Nó lưu trữ dữ liệu trong các tài liệu linh hoạt, giống như JSON. Với mô hình tài liệu, MongoDB rất đơn giản để các nhà phát triển học hỏi và sử dụng. Ngay cả khi nó dễ sử dụng, nó vẫn cung cấp tất cả các tính năng được yêu cầu trong các dự án phức tạp.

Một bản ghi trong MongoDB là một tài liệu, dữ liệu có cấu trúc được lưu trữ trong tài liệu dưới dạng một cặp trường và giá trị.

{
    "_id" : "5d270bab9a0c053494dfb5e5",
    "GenericAttributes" : [],
    "ProductTypeId" : 5,
    "Name" : "Build your own computer",
    "SeName" : "build-your-own-computer",
    "ShortDescription" : "Build it",
...
}

& nbsp; Trong bài viết này, bạn sẽ tìm hiểu cách chúng tôi xử lý dữ liệu thương mại điện tử trong chúng tôi dựa trên thương mại điện tử MongoDB - GRANDNODE. & NBSP;

Danh mục sản phẩm

Một danh mục sản phẩm không có gì nhiều hơn một bộ sưu tập tất cả các dữ liệu liên quan đến sản phẩm, danh mục, thương hiệu, đánh giá sản phẩm và tóm tắt, mọi thứ có sẵn để bán trong cửa hàng của bạn.

Dữ liệu danh mục thường chứa các dữ liệu sau:

- SKU- Giá- Tên sản phẩm- Mô tả sản phẩm- Số lượng- Lập bản đồ danh mục (Danh mục, Bộ sưu tập, Thương hiệu)- Đánh giá sản phẩm
- Price
- Product name
- Product description
- Quantity
- Catalog mapping (categories, collections, brands)
- Product reviews

Ví dụ về bộ sưu tập sản phẩm từ Grandnode, nền tảng thương mại điện tử nguồn mở NoQuery của chúng tôi:

{
    "_id" : "5d270bab9a0c053494dfb5e5",
    "GenericAttributes" : [],
    "ProductTypeId" : 5,
    "Name" : "Build your own computer",
    "SeName" : "build-your-own-computer",
    "ShortDescription" : "Build it",
...
}

Mua sắm dữ liệu giỏ hàng

Giỏ hàng cung cấp cho người dùng khả năng chọn và mua các mặt hàng từ danh mục sản phẩm. Nó là một trong những cơ sở của Thương mại điện tử. Trong ông nội, dữ liệu giỏ hàng (và dữ liệu danh sách mong muốn) là một phần của bộ sưu tập khách hàng. Bạn có thể tìm thấy thông tin đó trên mọi khách hàng, chỉ cần tìm & NBSP; "ShoppingCartitems": [], Field."ShoppingCartItems" : [], field.

{
"ShoppingCartItems" : [
{
"_id" : " ",
"StoreId" : " ",
"WarehouseId" : null,
"ShoppingCartTypeId" : 1,
"ProductId" : " ",
"Attributes" : [],
"EnteredPrice" : null,
"Quantity" : 1,
"RentalStartDateUtc" : null,
"RentalEndDateUtc" : null,
"CreatedOnUtc" : ISODate("2021-07-29T09:56:46.732Z"),
"UpdatedOnUtc" : ISODate("2021-07-29T09:56:46.732Z"),
"IsFreeShipping" : false,
"IsGiftVoucher" : false,
"IsShipEnabled" : true,
"AdditionalShippingChargeProduct" : 0.0,
"IsTaxExempt" : false,
"ReservationId" : "",
"Parameter" : "",
"Duration" : "",
"cId" : null
}
]
}

Dữ liệu khách hàng

Dữ liệu khách hàng là một trong những phần quan trọng nhất của mỗi thương mại điện tử. Nó chứa dữ liệu nhạy cảm, nó chứa rất nhiều dữ liệu liên quan đến đơn đặt hàng của khách hàng của bạn. & NBSP;

{
"_id" : "60b4a9c2a5556de7b1509696",
"UserFields" : [],
"OrderGuid" : LUUID("6370faba-eb20-6a4e-b3e9-80153d72b4b0"),
"OrderNumber" : 1,
"Code" : "4HCYYEFQ",
"StoreId" : "60b49fcc692073f53126ff1d",
"CustomerId" : "60b49fcc692073f531270078",
"OwnerId" : "60b49fcc692073f531270078",
"SeId" : null,
"PickUpInStore" : false,
"OrderStatusId" : 30,
"ShippingStatusId" : 40,
"PaymentStatusId" : 30,
"PaymentMethodSystemName" : "Payments.CashOnDelivery",
"PaymentOptionAttribute" : null,
"CustomerCurrencyCode" : "USD",
"PrimaryCurrencyCode" : "USD",
"CurrencyRate" : 1.0,
"Rate" : 1.0,
[...]
}

Dữ liệu đặt hàng

Bộ sưu tập đặt hàng Cửa hàng dữ liệu về mọi giao dịch được thực hiện trong cửa hàng của bạn. Nó chứa thông tin về các đơn đặt hàng đang chờ xử lý, xử lý và tất cả các đơn đặt hàng đã được hoàn thành. & NBSP;

Để thu thập thứ tự, bạn sẽ tìm thấy thông tin như:

- Email của khách hàng,- Trạng thái đặt hàng,- Địa chỉ thanh toán,- Địa chỉ vận chuyển,- Phương thức thanh toán,- Phương thức vận chuyển,
- order status,
- billing address,
- shipping address,
- payment method,
- shipping method,

và nhiều cái khác. Dưới đây bạn có thể tìm thấy một ví dụ về nó:

{
"CustomerEmail" : "",
"FirstName" : null,
"LastName" : null,
"OrderSubtotalInclTax" : 1800.0,
"OrderSubtotalExclTax" : 1800.0,
"OrderSubTotalDiscountInclTax" : 0.0,
"OrderSubTotalDiscountExclTax" : 0.0,
"OrderShippingInclTax" : 0.0,
"OrderShippingExclTax" : 0.0,
"PaymentMethodAdditionalFeeInclTax" : 0.0,
"PaymentMethodAdditionalFeeExclTax" : 0.0,
"OrderTax" : 0.0,
"OrderDiscount" : 0.0,
"OrderTotal" : 1800.0,
"PaidAmount" : 1800.0,
"PaidDateUtc" : ISODate("2021-05-31T09:18:54.588Z"),
"RefundedAmount" : 0.0
}

Giao dịch thanh toán

Trong một trong những bài đăng trên blog của chúng tôi, bạn đã có thể về một cách xử lý đơn đặt hàng mới. Chúng tôi đã giới thiệu các giao dịch thanh toán và kể từ khi Grandnode 2.0, nó lưu trữ dữ liệu liên quan đến thanh toán. & NBSP;

Trong Grandnode, chúng tôi không lưu trữ dữ liệu thẻ tín dụng nhạy cảm, các nhà cung cấp thanh toán chịu trách nhiệm cho nó. Nếu bạn muốn giữ chúng trong cơ sở dữ liệu của mình, hãy nhớ về việc mã hóa. & NBSP;

Ví dụ về giao dịch thanh toán:

{
    "_id" : " ",
    "UserFields" : [],
    "PaymentMethodSystemName" : "Payments.CashOnDelivery",
    "TransactionStatus" : 20,
    "StoreId" : "60b49fcc692073f53126ff1d",
    "OrderGuid" : LUUID("6370faba-eb20-6a4e-b3e9-80153d72b4b0"),
    "OrderCode" : "4HCYYEFQ",
    "CustomerId" : "60b49fcc692073f531270078",
    "CustomerEmail" : "",
    "CurrencyCode" : "USD",
    "CurrencyRate" : 1.0,
    "TransactionAmount" : 1800.0,
    "PaidAmount" : 1800.0,
    "RefundedAmount" : 0.0,
    "IPAddress" : "::1",
    "AuthorizationTransactionId" : null,
    "AuthorizationTransactionCode" : null,
    "AuthorizationTransactionResult" : null,
    "CaptureTransactionId" : null,
    "CaptureTransactionResult" : null,
    "Description" : null,
    "AdditionalInfo" : null,
   "CustomValues" : {},
    "Errors" : [],
    "CreatedOnUtc" : ISODate("2021-05-31T09:17:54.850Z"),
    "UpdatedOnUtc" : null,
    "Temp" : false
}

Nếu bạn muốn tìm hiểu thêm về việc sử dụng các giao dịch thanh toán, bạn chắc chắn nên kiểm tra một bài đăng trên blog.

Dữ liệu nội dung

Dữ liệu nội dung có liên quan đến tất cả các công cụ xung quanh quản lý nội dung, như blog, mẫu tin nhắn, phần tin tức, cơ sở kiến ​​thức, khóa học. & NBSP;

Ví dụ từ bộ sưu tập blog:

{
"_id" : "60b49fd1692073f531271b24",
"UserFields" : [],
"Title" : "How GrandNode became the real open-source e-Commerce platform?",
"PictureId" : null,
"Body" : "

Body of the post

",
"BodyOverview" : "

Body overview

",
"AllowComments" : false,
"CommentCount" : 0,
"Tags" : "e-commerce, blog, moey",
"StartDateUtc" : null,
"EndDateUtc" : null,
"MetaKeywords" : null,
"MetaDescription" : null,
"MetaTitle" : null,
"LimitedToStores" : false,
"Stores" : [],
"Locales" : [],
"SeName" : "how-grandnode-became-the-real-open-source-e-commerce-platform",
"CreatedOnUtc" : ISODate("2021-05-31T08:35:29.226Z")
}

Ví dụ từ bộ sưu tập tin tức:

{
"_id" : " ",
"UserFields" : [],
"Title" : "About Grandnode",
"PictureId" : null,
"SeName" : "about-grandnode",
"Short" : " Short description ",
"Full" : "

Body of the news

",
"Published" : true,
"StartDateUtc" : null,
"EndDateUtc" : null,
"AllowComments" : false,
"CommentCount" : 0,
"LimitedToStores" : false,
"Stores" : [],
"Locales" : [],
"MetaKeywords" : null,
"MetaDescription" : null,
"MetaTitle" : null,
"CreatedOnUtc" : ISODate("2021-05-31T08:35:29.247Z"),
"LimitedToGroups" : false,
"CustomerGroups" : [],
"NewsComments" : []
}
Example from message templates:

{
"_id" : " ",
"UserFields" : [],
"Name" : "AuctionEnded.CustomerNotificationWin",
"BccEmailAddresses" : null,
"Subject" : "{{Store.Name}}. Auction ended.",
"Body" : "

Hello, {{Customer.FullName}}!

At {{Auctions.EndTime}} you have won {{Auctions.ProductName}} for {{Auctions.Price}}. Visit cart to finish checkout process.

",
"IsActive" : true,
"DelayBeforeSend" : null,
"DelayPeriodId" : 0,
"AttachedDownloadId" : null,
"EmailAccountId" : " ",
"LimitedToStores" : false,
"Stores" : [],
"Locales" : []
}

Gridfs

Gridfs & nbsp; là một đặc điểm kỹ thuật để lưu trữ và truy xuất các tệp vượt quá & nbsp; BSON-DOCUM số & NBSP; Giới hạn kích thước & nbsp; của 16 MB. & NBSP; Chunk như một tài liệu riêng biệt. Đó là lý do tại sao trong cơ sở dữ liệu của cửa hàng của bạn, bạn sẽ tìm thấy hai bộ sưu tập fs.files và fs.chunks. & Nbsp;

Chúng tôi sử dụng Gridfs trong thương mại điện tử MongoDB của chúng tôi để lưu trữ các tệp đính kèm mà bạn tải lên cửa hàng. & NBSP;

Làm thế nào để chúng tôi lưu trữ hình ảnh trong MongoDB?

Hình ảnh được lưu trữ trong bộ sưu tập hình ảnh. Chúng tôi giữ chúng như một nhị phân. Trong MongoDB, các nhị phân có thể có kích thước 4MB. & Nbsp;

Theo mặc định, Grandnode - MongoDB Thương mại điện tử, lưu trữ hình ảnh trong hệ thống tệp. Nếu bạn muốn lưu trữ chúng trong cơ sở dữ liệu, bạn chỉ cần chỉnh sửa cài đặt phương tiện trong bảng quản trị.

Ví dụ về yếu tố thu thập hình ảnh:

{
"_id" : "5d270baa9a0c053494dfb5a1",
"GenericAttributes" : [],
"PictureBinary" : { "$binary" : "[base64 binary]", "$type" : "00" },
"MimeType" : "image/jpeg",
"SeoFilename" : "computers",
"AltAttribute" : null,
"TitleAttribute" : null,
"IsNew" : false
}

Còn các giao dịch ở MongoDB thì sao?

Nhiều người đưa ra MongoDB, thiếu các giao dịch trên các bộ sưu tập như là bằng chứng cho thấy nó không phù hợp với các ứng dụng thương mại điện tử. Thành thật mà nói kể từ lần phát hành đầu tiên của chúng tôi vào năm 2015 và thông qua rất nhiều dự án đã hoàn thành, đó không phải là vấn đề và giới hạn cho đến nay. & NBSP;

Cơ sở dữ liệu nào phù hợp cho thương mại điện tử?

Như bạn có thể thấy, cơ sở dữ liệu NoQuery hoàn toàn phù hợp với các yêu cầu và nhu cầu của thị trường thương mại điện tử về tính khả dụng và lưu trữ dữ liệu. Hiện tại, hệ thống cơ sở dữ liệu phổ biến nhất thuộc loại này là MongoDB.NoSQL databases perfectly match the requirements and needs of the e-commerce market in terms of data availability and storage. Currently, the most popular database system of this type is MongoDB.

Tôi có thể sử dụng MongoDB cho doanh nghiệp không?

Câu trả lời ngắn gọn là nói chung, vâng, theo như triển khai phiên bản cộng đồng MongoDB để sử dụng thương mại.Giấy phép thương mại chỉ được yêu cầu trong một số trường hợp, chẳng hạn như triển khai phần mềm Doanh nghiệp MongoDB cho môi trường sản xuất.Máy chủ Core MongoDB được cấp phép theo AGPL V3.generally, yes” as far as deploying the MongoDB community edition for commercial use. A commercial license is only required in some circumstances, such as deploying MongoDB Enterprise software to production environments. The core MongoDB server is licensed under AGPL v3.

Tôi có thể sử dụng MongoDB cho trang web không?

MongoDB có mục đích chung, cơ sở dữ liệu có thể được sử dụng cho một số ứng dụng web, bao gồm quản lý dữ liệu khách hàng, quản lý nội dung, trung tâm dữ liệu, ứng dụng di động, Internet of Things, dữ liệu lớn, danh mục sản phẩm và tài sản và cơ sở dữ liệu.The database can be used for several web applications, including customer data management, content management, data hubs, mobile apps, Internet of Things, Big Data, product and asset catalogs and database-as-a-service.

NoQuery có tốt cho thương mại điện tử không?

Đây là một trong những tùy chọn NoQuery tốt nhất cho thương mại điện tử.MongoDB cũng lưu các tài liệu ở định dạng giống JSON, điều đó có nghĩa là rất đơn giản để chuyển đổi các truy vấn và kết quả thành một định dạng mã frontend của bạn hiểu.Điều này loại bỏ sự cần thiết phải viết các bản đồ liên quan đến đối tượng (ORM).. MongoDB also saves documents in a JSON-like format, which means it's very simple to convert queries and results into a format your frontend code understands. This removes the need to write object-relation mappers (ORMs).