[MONGODB] 쿼리는 MongoDB를 가진 마지막으로 X 분의 데이터를 얻을 수 있습니다
MONGODB쿼리는 MongoDB를 가진 마지막으로 X 분의 데이터를 얻을 수 있습니다
나는 MongoDB를 시작으로하고있어, 나는이 문서의 형식이 내 DB를 조회하기 위해 노력하고있어 :
{ "_id" : ObjectId("520b8b3f8bd94741bf006033"), "value" : 0.664, "timestamp" : ISODate("2013-08-14T13:48:35Z"), "cr" : ISODate("2013-08-14T13:50:55.834Z") }
나는이 쿼리 날짜 시간에서 마지막 기록을 얻을 수 있습니다 :
> db.mycol.find({timestamp:{$gt: ISODate("2013-08-14T13:48:00Z")}}).sort({x:1});
그러나 나는 어떻게이에 대한 쿼리를 구축 할 수 있습니다 18 분 전에서 값 필드와 타임 스탬프와 세트를 얻으려고? 양해 해 주셔서 감사합니다 모두 ...
해결법
-
==============================
1.MongoDB를 약하지만, 자바 스크립트에 대해 그리고 무엇 몽고 쉘에서 사용할 수 정말 아니에요 18 분 부분의 경우 :
MongoDB를 약하지만, 자바 스크립트에 대해 그리고 무엇 몽고 쉘에서 사용할 수 정말 아니에요 18 분 부분의 경우 :
query = { timestamp: { // 18 minutes ago (from now) $gt: new Date(ISODate().getTime() - 1000 * 60 * 18) } }
몽고 쉘에서 작동하지만, 다른 언어에 대한 몽고 드라이버를 사용하는 것은 정말 다른 것입니다.
가치와 타임 스탬프 모두 작은 스키마를 통해 "프로젝트"받는 사람 :
projection = { _id: 0, value: 1, timestamp: 1, }
모두 적용 :
db.mycol.find(query, projection).sort({timestamp: 1});
글쎄, 그건 중복이있을 수 있습니다 때문에 "세트"아직 아니다. 그들을 제거하려면 집계 프레임 워크에서 $ 그룹을 사용할 수 있습니다 :
db.mycol.aggregate([ {$match: query}, {$group: { _id: { value: "$value", timestamp: "$timestamp", } }}, {$project: { value: "$_id.value", timestamp: "$_id.timestamp", }}, {$sort: {timestamp: 1}}, ])
-
==============================
2.와우, @Alistair_Nelson I 덕분에 예 ISODate ( ": 00 : 00Z 2013-08-14T14")에서 마지막 18 분 얻을 수 있도록, n 분 전에서 데이터를 얻을 수 있었다 :
와우, @Alistair_Nelson I 덕분에 예 ISODate ( ": 00 : 00Z 2013-08-14T14")에서 마지막 18 분 얻을 수 있도록, n 분 전에서 데이터를 얻을 수 있었다 :
db.mycol.find({timestamp:{$gt: new Date(ISODate("2013-08-14T14:00:00Z")-18*60000)}})
필드 만 얻으려면 내가 필요
db.mycol.find({timestamp:{$gt: new Date(ISODate("2013-08-14T14:00:00Z")-18*60000)}},{value:1,timestamp:1, _id:0})
-
==============================
3.당신은 MongoDB를 사용 nodejs에서 현재 타임 스탬프의 데이터에 액세스 할 수 있습니다
당신은 MongoDB를 사용 nodejs에서 현재 타임 스탬프의 데이터에 액세스 할 수 있습니다
const collection1 = dbo.collection('customers'); var dateq = new Date(); collection1.find({ "Timestamp" : { $gt: new Date(dateq.getTime() - 6000)} }).toArray(function(err , docs){ console.log(docs); }
코드 끝
from https://stackoverflow.com/questions/18233945/query-to-get-last-x-minutes-data-with-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 공식 C #을 드라이버를 사용하여 MongoDB에 삽입 (0) | 2019.12.22 |
---|---|
[MONGODB] 여기서 _id의 배열의 선택 MongoDB를? (0) | 2019.12.22 |
[MONGODB] 어떻게 몽고에서 포스트 태그를 구현하는 방법? (0) | 2019.12.22 |
[MONGODB] 어떻게 mongodump하여 덤프 된 데이터를 사용 하는가? (0) | 2019.12.22 |
[MONGODB] MongoDB를이 - 포함 또는 C #을 드라이버 특정 요소를 제외 (0) | 2019.12.22 |