- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在构建一个需要将数据从 MongoDB 文档传输到 SQL Server 表的应用程序。我正在创建一个用于将 MongoDB 文档导出到其中的 JSON 文件(其代码已随附)。我现在如何添加过滤器,以便只有在将特定数据重新导出到 JSON 后在 MongoDB 集合中创建的文档?
我相信这可以通过某种方式使用 MongoDB 文档的 ObjectId 字段中的时间戳来实现,但无法找到方法。
using (FileStream fs = File.Create(path))
{
using (var fw = new StreamWriter(fs))
{
fw.Write("[");
using (var cursor = await collection.Find(new BsonDocument()).Project(Builders<BsonDocument>.Projection.Exclude("_id")).ToCursorAsync())
{
while (await cursor.MoveNextAsync())
foreach (var doc in cursor.Current)
{
fw.Write(doc.ToString());
fw.Write(",");
}
fw.Flush();
}
fs.SetLength(fs.Length - 1);
fw.Write("]");
}
}
最佳答案
我不能使用你的确切例子,但我已经设法创建了类似的东西,使用 ObjectId 日期时间进行过滤:
// Declare a date range - presumably these would be dynamic not fixed strings
var startDateTime = DateTime.Parse("2018-09-13 14:19:26.000Z");
var endDateTime = DateTime.Parse("2018-09-24 14:03:38.000Z");
// Use the dates to create ObjectId type for comparison
var startId = new ObjectId(startDateTime, 0, 0, 0);
var endId = new ObjectId(endDateTime, 0, 0, 0);
// Use the ObjectId types in the filter
using (var cursor = await collection.Find(x => x._id > startId && x._id < endId).ToCursorAsync())
{
while (await cursor.MoveNextAsync())
{
foreach (var doc in cursor.Current)
{
// Use doc object
}
}
}
注意:我用的是最新的MongoDB.Driver包
关于c# - 如何在 C# 中使用 ObjectId 中的时间戳过滤文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55370481/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!