2014-09-07 4 views
0

저는 node.js를 처음 사용합니다.
나는몽구스의 하위 문서 쿼리

{ "_id" : ObjectId("540b03ddf1768fe562fbb715"), 
"productid" : "men1", 
"comments" : [ { "name" : "shiva", "text" : "Haidddsdcccccc", "_id" : ObjectId("540b03dd0570a6261e20a59e"), "date_entered" : ISODate("2014-09-06T12:53:49.658Z") }, 
{ "name" : "shiva", "text" : "Haidddsdcccccc", "_id" : ObjectId("540cb2be35f8145a2d296ea0"), "date_entered" : ISODate("2014-09-07T19:32:14.827Z") }, 
{ "name" : "shiva", "text" : "Haidddsdcccccc", "_id" : ObjectId("540cb2c335f8145a2d296ea1"), "date_entered" : ISODate("2014-09-07T19:32:19.456Z") } ] } 

내가 나는 단지 하나를 얻고있다

var query=Product.find({"productid":obj.productid, 
'comments.date_entered': {$gt: obj.timed}}, {'comments.$': 1}) 

나는이 쿼리를 사용하고

특정 시간 이후에 제품의 의견을 조회 할 형태의 JSON 객체를 데 특정 시간 이후의 개체 즉,

{ 
_id: "540b03ddf1768fe562fbb715" 
comments: [1] 
0: { 
name: "shiva" 
text: "Haidddsdcccccc" 
_id: "540cb2be35f8145a2d296ea0" 
date_entered: "2014-09-07T19:32:14.827Z" 
} 

} 

지정된 시간 후에 제품의 모든 설명을 얻는 방법?

+0

이 질문에 대한 답변에서보세요 : http://stackoverflow.com/questions/3985214/retrieve-only-the-queried-element-in -an-object-array-in-mongodb-collection – JohnnyHK

+0

제안에 감사드립니다 :-) – Vishnu

답변

1

내가 알 수있는 것으로부터 이것을 수행하는 좋은 방법이 아닌 것 같습니다. 이 같은 해결 방법 일을 할 수있는 일 :

Product.findOne({productid: PRODUCT_ID}, {comments: 1}, function(err, product) { 
    var comments = product.comments.filter(function(comment) { 
     return comment.date_entered > DATE; 
    }); 
    ... 
}) 
+0

@Vishnu가이 도움을 주었습니까? –

+0

죄송합니다 답변을 못봤습니다 ... @ JohnnyHK의 의견에 제공된 맵 축소 개념을 사용하여 완료했습니다. 어쨌든 덕분에 :-) – Vishnu

관련 문제