2012-11-06 28 views
10

Vì vậy, tôi đã một cái gì đó gọi làMongoDB schema thiết kế đặt tên ước

exports.create = function(projectJSON){ 

var project = new ProjectModel({ 
    id : projectJSON.id, 
    projectName : projectJSON.projectName , 
    authorName : projectJSON.authorName, 
    firstPostDate : projectJSON.firstPostDate 

}) 
} 

Liệu quy ước đặt tên trên cho một yếu tố đa từ firstPostDate chính xác, hoặc họ được khoảng cách với _ trong tất cả các cổ phiếu nhỏ?

Tôi thấy rằng các blog khác thích nó được trong mũ nhỏ ..

EDIT:

Ngoài ra tôi đọc rằng yếu tố cần được đặc biệt thay vì tức là số nhiều:

`comment` instead of `comments` for a blog schema design 

Trả lời

15

tôi sử dụng Google's JSON Style Guide bản thân mình và họ đề nghị sử dụng camelCase tức là firstPostDate. Dưới đây là phần trích đoạn

Tên tài sản Format

tên tài sản phải phù hợp với hướng dẫn sau đây:

  • tên tài sản phải là tên có ý nghĩa với ngữ nghĩa xác định.
  • Tên thuộc tính phải là chuỗi coel, chuỗi ascii.
  • Ký tự đầu tiên phải là một chữ cái, dấu gạch dưới (_) hoặc ký hiệu đô la ($).
  • Các ký tự tiếp theo có thể là chữ cái, chữ số, dấu gạch dưới hoặc ký hiệu đô la.
  • Từ khóa JavaScript được đặt trước nên tránh (Danh sách từ khóa JavaScript được đặt trước có thể được tìm thấy bên dưới).

Các nguyên tắc này phản ánh nguyên tắc đặt tên mã định danh JavaScript. Điều này cho phép khách hàng JavaScript truy cập các thuộc tính bằng ký hiệu chấm. (ví dụ: result.thisIsAnInstanceVariable). Dưới đây là ví dụ về một đối tượng có một thuộc tính:

{ 
    "thisPropertyIsAnIdentifier": "identifier value" 
} 
+0

vì vậy nếu chỉ 1 schema khổng lồ với rất nhiều tài liệu nhúng khác, nhân vật đầu tiên cần được '_id' thay vì chỉ' id' phải không? và 'id' trong các tài liệu nhúng không cần phải có dấu gạch dưới? – bouncingHippo

+0

@bouncingHippo Không thể hiểu bạn đang nói gì. Tất cả các tài liệu cấp cao ở Mongo có _id được tạo tự động. Tôi không nghĩ bạn có thể đổi tên nó. –

+0

cho phép nói '" thisPropertyIsAnIdentifier "' là một chuỗi, trong thiết kế lược đồ, không nên là '" thisPropertyIsAnIdentifier ":" String "'? – bouncingHippo

5

Không được cần rút ngắn tên trường.

Kiểm tra docs:

rút ngắn tên trường giảm biểu cảm và không cung cấp lợi ích đáng kể cho các tài liệu lớn hơn và nơi tài liệu overhead không phải là mối quan tâm đáng kể. Tên trường ngắn hơn không làm giảm kích thước chỉ mục vì các chỉ mục có cấu trúc được xác định trước. Trong số chung, không cần sử dụng tên trường ngắn.

1

ước đặt tên cho bộ sưu tập

Để đặt tên cho một bộ sưu tập vài biện pháp phòng ngừa phải được thực hiện 1. Một bộ sưu tập với chuỗi rỗng (“”) không phải là tên bộ sưu tập có giá trị. 2. Tên bộ sưu tập không được chứa ký tự rỗng vì điều này xác định phần cuối của tên bộ sưu tập. 3.Tên bộ sưu tập không được bắt đầu bằng tiền tố “hệ thống” vì điều này được dành riêng cho bộ sưu tập nội bộ. 4. Sẽ không tốt nếu không chứa ký tự “$” trong tên bộ sưu tập vì trình điều khiển khác nhau có sẵn cho cơ sở dữ liệu không hỗ trợ “$” trong tên bộ sưu tập.

Để biết thêm thông tin, xin vui lòng kiểm tra liên kết: http://www.learnit.net.in/2016/03/schema-design-and-naming-conventions-in.html

Các vấn đề liên quan