各ドキュメントには、日付のプロパティが格納されているので、特定の日付または2つの日付の間に格納されたデータを取得する方法を示します。これを行う最善の方法は何ですか。私の実装はJavaに基づいています。前もって感謝します。Azure DocumentDB - 特定の日付のコレクションからドキュメントを取得するにはどうすればよいですか?
0
A
答えて
0
私はJavaコードを持っていませんが、DateTime文字列でRangeインデックスを使用するようにコレクションを設定する必要があります。その後、特定の時間範囲内の日付を照会することができます。 .NETコード範囲のインデックスを設定することです:
DocumentCollection collection = new DocumentCollection { Id = "orders" };
collection.IndexingPolicy = new IndexingPolicy(new RangeIndex(DataType.String) { Precision = -1 });
await client.CreateDocumentCollectionAsync("/dbs/orderdb", collection);
はhttps://docs.microsoft.com/en-us/azure/documentdb/documentdb-working-with-dates#indexing-datetimes-for-range-queriesを参照して、このページhttps://docs.microsoft.com/en-us/azure/documentdb/documentdb-indexing-policiesの範囲を検索します。
0
Azure DocumentDB SDK for Javaを使用して、_ts
プロパティでドキュメントを照会するだけです。文書_ts
のプロパティは以下の通りです。
_ts:これはシステム生成プロパティです。リソースの最後に更新されたタイムスタンプを指定します。値はタイムスタンプです。
ここに私のサンプルコードがあります。 _ts
単位は秒です。
// Initialize a DocumentDb client.
String serviceEndpoint = "https://<your-documentdb-name>.documents.azure.com:443/";
String masterKey = "<your-documentdb-key>";
DocumentClient client = new DocumentClient(serviceEndpoint, masterKey, ConnectionPolicy.GetDefault(), ConsistencyLevel.Session);
// Get a collection link via collection id.
String collId = "<collection-Id>";
String query = String.format("SELECT * from ROOT r WHERE r.id = '%s'", dcId);
FeedOptions options = null;
List<DocumentCollection> dcs = client.queryCollections(dbLink, query, options).getQueryIterable().toList();
String collLink = dcs.size() >0 ? dcs.get(0).getSelfLink() : null;
// Generate a query string, see below.
.......
client.queryDocuments(collection.getSelfLink(), query, null);
特定の日に記憶されたデータをフェッチするためのクエリ文字列:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = "2017-03-01";
long timestamp = sdf.parse(dateStr).getTime()/1000;
String query = String.format("select * from c where c._ts = %d", timestamp);
2つの日付の間の保存されたデータを取り込むためのクエリ文字列:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String startDateStr = "2017-03-01";
String endDateStr = "2017-03-31";
long tsStart = sdf.parse(startDateStr).getTime()/1000;
long tsEnd = sdf.parse(endDateStr).getTime()/1000;
String query = String.format("select * from c where c._ts >= %d and c._ts <= %d", tsStart, tsEnd);
を
関連する問題
- 1. iOSで特定の曜日の日付を取得するにはどうすればよいですか?
- 2. 特定の日付範囲内のデータを取得するにはどうすればよいですか?
- 3. 特定の日付のカレンダーイベントを取得するにはどうすればよいですか?
- 4. 特定の日付範囲でツイートを取得するにはどうすればよいですか?
- 5. インターネットから日時を特定のタイムゾーンに取得するにはどうすればよいですか?
- 6. JQueryフルカレンダー:日付時間テキストボックスから特定の日付を指定して、月/日/週ビューを取得するにはどうすればいいですか?
- 7. 日付の範囲から日時のリストを取得するにはどうすればよいですか?
- 8. 特定の日付を設定するにはどうすればよいですか?日付ピッカー
- 9. 特定の日付の株価終値を取得するにはどうすればいいですか
- 10. PHPの日付間隔から日数を取得するにはどうすればよいですか?
- 11. DocumentDbドキュメントを更新するにはどうすればよいですか?
- 12. 特定の日付間の日付でSQL結合を行うにはどうすればよいですか?
- 13. 特定の日付から日付、月、年を取得する
- 14. 今日の日付に基づいてMongo dbのコレクションからドキュメントを取得
- 15. fullcalendarで日付オブジェクトにイベントの日付を取得するにはどうすればよいですか?
- 16. 特定のAzure Web Appインスタンスのメモリダンプを取得するにはどうすればよいですか?
- 17. idを指定せずに、azure関数でdocumentdbからすべてのドキュメントを取得できますか?
- 18. JSONファイルから最後の "日付"を取得するにはどうすればよいですか?
- 19. C:ユリウス日ライブラリー - 日付オフセット(Xからの日数)から日付(つまり、yyyy/mm/dd)を取得するにはどうすればよいですか?
- 20. 指定した日付より古いファイルを取得するにはどうすればよいですか?
- 21. 特定の列の最後の行の値(日付)を取得するためにGROUP BYを取得するにはどうすればよいですか?
- 22. 重複する日付範囲からカウントを取得するにはどうすればよいですか?
- 23. anglejs 2の特定の日付から1か月の日数を特定するにはどうすればよいですか?
- 24. 週の最初の曜日の日付を取得するにはどうすればよいですか?
- 25. 今後のAndroidアプリで、今日の日付から特定の日付にカウントダウンするにはどうすればよいですか?
- 26. 特定のノードからツリー祖先のリストを取得するにはどうすればよいですか?
- 27. testngデータプロバイダから特定の行のデータを取得するにはどうすればよいですか?
- 28. 特定のクラスのテーブル行からセル値を取得するにはどうすればよいですか?
- 29. サーバ名からファイルパスの特定の部分を取得するにはどうすればよいですか?
- 30. onClickイベントのリストビューアイテムから特定のアイテムを取得するにはどうすればよいですか?