[MONGODB] MongoDB를 +는 nodejs : ISODate 필드를 쿼리하는 방법?
MONGODBMongoDB를 +는 nodejs : ISODate 필드를 쿼리하는 방법?
나는 노드 MongoDB의 네이티브 드라이버 (http://mongodb.github.io/node-mongodb-native/)와 nodejs를 사용하고 있습니다.
나는 ISODate 형식으로 저장된 날짜 속성을 가진 문서가 있습니다.
nodejs을 통해,이 쿼리를 사용하고 있습니다 :
db.collection("log").find({
localHitDate: {
'$gte': '2013-12-12T16:00:00.000Z',
'$lt': '2013-12-12T18:00:00.000Z'
}
})
그것은 아무 것도 반환하지 않습니다. 그것은 내가 대신 다음을 수행해야 작동하게하려면 :
db.collection("log").find({
localHitDate: {
'$gte': ISODate('2013-12-12T16:00:00.000Z'),
'$lt': ISODate('2013-12-12T18:00:00.000Z')
}
})
그러나 ISODate 내 nodejs 코드에서 인식되지 않습니다.
어떻게 내 노드 JS 프로그램을 통해 MongoDB의 날짜 필드에 대해 쿼리를 만들 수 있습니까?
감사합니다
해결법
-
==============================
1.당신은 새로운 날짜 사용할 수 있습니다 ( ': 00 : 2013-12-12T16를 00.000Z') Node.js를에;
당신은 새로운 날짜 사용할 수 있습니다 ( ': 00 : 2013-12-12T16를 00.000Z') Node.js를에;
날짜 () 이미 반환 날짜 문자열에 사용되기 때문에 새가 필수입니다.
ISODate가 MongoDB를에 concepted, 당신은 MongoDB를 콘솔에서 사용할 수 있지만, 다른 프로그래밍 언어에 대한 다를 수 있습니다.
-
==============================
2.나를 완벽하게 일을 위해 당신은이를 사용할 수 있습니다
나를 완벽하게 일을 위해 당신은이를 사용할 수 있습니다
//lets require/import the mongodb native drivers. var mongodb = require('mongodb'); //We need to work with "MongoClient" interface in order to connect to a mongodb server. var MongoClient = mongodb.MongoClient; // Connection URL. This is where your mongodb server is running. var url = 'mongodb://localhost/klevin'; // Use connect method to connect to the Server MongoClient.connect(url, function (err, db) { if (err) { console.log('Unable to connect to the mongoDB server. Error:', err); } else { //HURRAY!! We are connected. :) console.log('Connection established to', url); // Get the documents collection var collection = db.collection('frames'); //We have a cursor now with our find criteria var cursor = collection.find({ tv: 'tematv', date_created: {"$gte": new Date("2015-10-01T00:00:00.000Z") , "$lt": new Date("2017-03-13T16:17:36.470Z") }}); //We need to sort by age descending cursor.sort({_id: -1}); //Limit to max 10 records cursor.limit(50); //Skip specified records. 0 for skipping 0 records. cursor.skip(0); //Lets iterate on the result cursor.each(function (err, doc) { if (err) { console.log(err); } else { console.log('Fetched:', doc); if(doc !== null){ } } }); } });
-
==============================
3.우리는 () 데이터를 얻을 수있는 최선의 방법입니다 새 날짜를 사용해야합니다.
우리는 () 데이터를 얻을 수있는 최선의 방법입니다 새 날짜를 사용해야합니다.
db.getCollection('orders').aggregate([ { '$match': { $and: [ { status: 'UNASSIGNED' }, { plannedDeliveryDate: { '$eq': new Date('2017-10-09') } } ] } }, { $lookup: { from: "servicelocations", localField: "serviceLocationId", foreignField: "serviceLocationId", as: "locations" } }, { $unwind: "$locations" }, { "$project": { "accountId": 1, "orderId": 1, "serviceLocationId": 1, "orderDate": 1, "description": 1, "serviceType": 1, "orderSource": 1, "takenBy": 1, "plannedDeliveryDate": 1, "plannedDeliveryTime": 1, "actualDeliveryDate": 1, "actualDeliveryTime": 1, "deliveredBy": 1, "size1": 1, "size2": 1, "size3": 1, "jobPriority": 1, "cancelReason": 1, "cancelDate": 1, "cancelBy": 1, "reasonCode": 1, "reasonText": 1, "status": 1, "lineItems": 1, "locations": { "lng": "$locations.location.lng", "lat": "$locations.location.lat" } } } ])
from https://stackoverflow.com/questions/20561381/mongodb-nodejs-how-to-query-isodate-fields by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 인덱스가 MongoDB를에 존재하는지 확인 (0) | 2019.12.24 |
---|---|
[MONGODB] 몽구스 findOne를 사용하는 방법 (0) | 2019.12.24 |
[MONGODB] MongoDB를 사용하여 산화 마그네슘의 효율적인 페이징 (0) | 2019.12.23 |
[MONGODB] MongoDB를, $ 조회로 집계 쿼리 (0) | 2019.12.23 |
[MONGODB] 몽구스 재귀 채우기 (0) | 2019.12.23 |