【发布时间】:2016-10-18 11:44:27
【问题描述】:
我有一个文档,如下所示
这是该文档的 C# 结构
public class MetaData
{
[BsonId]
public ObjectId _Id { get; set; }
[BsonElement("User")]
public IDictionary<Int64, FirstUser> User { get; set; }
}
public class FirstUser
{
[BsonElement("Name")]
public String Name { get; set; }
[BsonElement("Id")]
public Int64 Id { get; set; }
}
这是我对该文档的 BSON 结构
/* 1 */
{
"_id" : ObjectId("5805c1ced520b54bd4192214"),
"User" : [
[
NumberLong(1),
{
"Name" : "FirstUser",
"_id" : NumberLong(1)
}
]
]
}
/* 2 */
{
"_id" : ObjectId("5805c1ced520b54bd4192215"),
"User" : [
[
NumberLong(1),
{
"Name" : "SecondUser",
"_id" : NumberLong(2)
}
]
]
}
/* 3 */
{
"_id" : ObjectId("5805c1ced520b54bd4192216"),
"User" : [
[
NumberLong(1),
{
"Name" : "ThirdUser",
"_id" : NumberLong(3)
}
]
]
}
/* 4 */
{
"_id" : ObjectId("5805c1ced520b54bd4192217"),
"User" : [
[
NumberLong(1),
{
"Name" : "FourthUser",
"_id" : NumberLong(2)
}
]
]
}
我需要所有“名称”为“FirstUser”的文件,为此我如何形成 MONGO QUERY?
【问题讨论】:
-
您的 BSON 架构和您的类似乎不匹配...您的 BSON 似乎将“用户”作为对象数组的数组,而不仅仅是字典。
-
我可以建议您使用聚合框架来解决它吗?如果是,我可以给你写一个答案。
-
我已经厌倦了它的工作,但这里的问题是我无法获取超过 16 MB 的数据。有时我必须获取超过 16 MB 的数据。
标签: c# mongodb mongodb-query