Làm thế nào dow tôi truy vấn ý kiến lớn hơn hoặc ít hơn một ngày nào đó ...Mongoose truy vấn lồng nhau tài liệu lớn hơn hoặc ít hơn một ngày nào đó
Dưới đây là Schema của tôi với bài viết mô hình và một mô hình Comment:
var mongoose = require('mongoose');
var should = require('should');
mongoose.connect("localhost","test_db");
var CommentSchema = new mongoose.Schema({
content: {type:String},
created_at: {type:Date, default:Date.now}
});
var PostSchema = new mongoose.Schema({
title: {type:String},
content: {type:String},
comments: [CommentSchema]
});
var Post = mongoose.model('Post',PostSchema);
var Comment = mongoose.model('Comment',CommentSchema);
var post = new Post({title:"hello world",comments:[{content:"1st comment"},{content:"2nd comment"}]});
// I saved it! and then I query for it
var id = "5045d5be48af9f040f000002";
Post.find({ _id:id,
"comments.created_at":{ $gte:(new Date())}
},function(err,result){
console.log(result);
});
Tôi cần trợ giúp khi truy vấn tài liệu được nhúng ...
Ok Tôi đã chỉnh sửa mã của mình để cung cấp thêm chi tiết.
Điều này trả về một mảng trống. Vì vậy, những gì tôi muốn hoặc những gì tôi mong đợi là một bài viết với một mảng ý kiến trống. Nhưng với truy vấn này tôi không nhận được một bài đăng nào cả. (khi tôi trao đổi $ gte với $ lte tôi nhận được (rõ ràng) bài đăng với 2 ý kiến của nó).
Nhưng một lần nữa làm thế nào tôi có thể lọc các chi tiết như vậy theo mô tả của tôi ở trên?
cảm ơn tuyệt vời và tôi sẽ làm như thế nào cho 1 Bài đăng {_id: 1, "comments.created_a": {$ lt: (ngày mới())} ...? – silverfighter
Phải, bạn chỉ cần thêm thuộc tính '_id: 1' vào đối tượng bộ chọn của mình. – JohnnyHK
Không hoạt động như mong đợi. Tôi đã chỉnh sửa q. để cung cấp thêm chi tiết ... – silverfighter