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

Mongoose tài liệu nhúng / id DocumentsArrays

Thay vì thực hiện push () với một đối tượng json như thế này (theo cách mà tài liệu mongoose đề xuất):

// create a comment
post.comments.push({ title: 'My comment' });

Bạn nên tạo một phiên bản thực tế của đối tượng được nhúng của mình và push() thay vào đó. Sau đó, bạn có thể lấy trường _id từ nó trực tiếp, vì mongoose đặt nó khi đối tượng được khởi tạo. Đây là một ví dụ đầy đủ:

var mongoose = require('mongoose')
var Schema = mongoose.Schema
var ObjectId = Schema.ObjectId

mongoose.connect('mongodb://localhost/testjs');

var Comment = new Schema({
    title     : String
  , body      : String
  , date      : Date
});

var BlogPost = new Schema({
    author    : ObjectId
  , title     : String
  , body      : String
  , date      : Date
  , comments  : [Comment]
  , meta      : {
        votes : Number
      , favs  : Number
    }
});

mongoose.model('Comment', Comment);
mongoose.model('BlogPost', BlogPost);

var BlogPost = mongoose.model('BlogPost');
var CommentModel = mongoose.model('Comment')


var post = new BlogPost();

// create a comment
var mycomment = new CommentModel();
mycomment.title = "blah"
console.log(mycomment._id) // <<<< This is what you're looking for

post.comments.push(mycomment);

post.save(function (err) {
  if (!err) console.log('Success!');
})



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB trên Android

  2. Tôi có thể tạo cơ sở dữ liệu của các lớp ruby ​​không?

  3. hiển thị ngày trên bản chỉnh sửa từ mongo bằng ejs

  4. Gửi truy vấn MongoDB đến một hệ thống khác:chuyển đổi thành JSON và sau đó giải mã thành BSON? Làm thế nào để làm điều đó trong ngôn ngữ cờ vây?

  5. mongodb kết nối bằng php