MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lưu một mảng (trong số 'thẻ') vào MongoDB bằng Mongoose

Nếu bạn thực sự muốn mảng "thẻ" của mình có trường tên và _id được tạo sau đó xác định một lược đồ khác và nhúng nó vào:

var tagSchema = mongoose.Schema({
    name: String
});

var postSchema = mongoose.Schema({
  title: String,
  permalink: String,
  content: String,
  author: {
    id: String,
    name: String,
  },
  postDate: {
    type: Date,
    default: Date.now
  },
  tags: [tagSchema]
});

Sau đó, thao tác đầu vào cho đúng cấu trúc trước khi bạn tạo Post đối tượng:

req.body.tags = req.body.tags.replace(/\s/''/g).split(",").map(function(tag) {
    return { "name": tag };
});

var post = new Post(req.body);

Hoặc chỉ để nó dưới dạng một mảng các chuỗi đơn giản:

var postSchema = mongoose.Schema({
  title: String,
  permalink: String,
  content: String,
  author: {
    id: String,
    name: String,
  },
  postDate: {
    type: Date,
    default: Date.now
  },
  tags: [String]
});

Và đừng lo lắng về việc ánh xạ thuộc tính đối tượng:

req.body.tags = req.body.tags.replace(/\s/''/g).split(",");
var post = new Post(req.body);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose phổ biến sau khi tổng hợp

  2. Cách tốt nhất để lưu trữ / nhận các giá trị được tham chiếu từ danh sách trong Mongo / RectiveMongo?

  3. Tổng hợp các kiểu phụ khác nhau trong tài liệu của một bộ sưu tập

  4. Cách chuyển đổi chuỗi thành objectId trong LocalField cho $ lookup Mongodb

  5. Làm cách nào để cải thiện hiệu suất hàng loạt của MongoDB?