sql >> Databáze >  >> NoSQL >> MongoDB

Uložení pole ("tagů") do MongoDB pomocí Mongoose

Pokud opravdu chcete, aby pole „tagů“ mělo pole názvu a vygenerované _id pole, pak definujte další schéma a vložte jej:

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]
});

Poté upravte vstup do správné struktury, než vytvoříte Post objekt:

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

var post = new Post(req.body);

Nebo to nechte jako pole jednoduchých řetězců:

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

A nedělejte si starosti s mapováním vlastnosti objektu:

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



  1. Jak agregovat a sloučit výsledek do kolekce?

  2. Async Bulk (batch) insert to MySQL (nebo MongoDB?) přes Node.js

  3. mongodb &max připojení

  4. Kde je log soubor mongodb v mac