C# 比较MongoDB中的字段值
我有两套A和B 对于一个包含C# 比较MongoDB中的字段值,c#,mongodb,indexing,C#,Mongodb,Indexing,我有两套A和B 对于一个包含 { "_id" : ObjectId("4fb2143af31dfd122ce39c4b"), "Name" : "Freelander 2.2D", "Manufacture" : "Landrover" } B, { "_id" : ObjectId("4fb21439f31dfd122ce39c4a") "Name" : "Rangerover", "Manufacture" : "Landrover", } 让我知
{
"_id" : ObjectId("4fb2143af31dfd122ce39c4b"),
"Name" : "Freelander 2.2D",
"Manufacture" : "Landrover"
}
B,
{
"_id" : ObjectId("4fb21439f31dfd122ce39c4a")
"Name" : "Rangerover",
"Manufacture" : "Landrover",
}
让我知道如何检查C#driver中A和B的字段值是否相同(这里是“Name”有不同的值)。如果发现差异,我也需要更新
请说明这一点,提前谢谢您不能进行涉及多个集合的查询。一个查询-一个集合,句号。好吧,Sergio基本上是对的(我看不到使用语言驱动程序实现这一点的方法),但是可以使用shell:
var a_in_b = function(o){
var numB = db.B.find({Name:o.Name}).count();
if (numB > 0) print (o.Name + " is in both A and B");
}
> db.A.find()
{ "_id" : ObjectId("4fb2143af31dfd122ce39c4b"), "Name" : "Freelander 2.2D", "Manufacture" : "Landrover" }
> db.B.find()
{ "_id" : ObjectId("4fb667d60569d84fec6ef57e"), "Name" : "Rangerover", "Manufacture" : "Landrover" }
{ "_id" : ObjectId("4fb66a830569d84fec6ef57f"), "Name" : "Freelander 2.2D", "Manufacture" : "Landrover" }
> db.A.find().forEach(a_in_b);
Freelander 2.2D is in both A and B
如果您的需求是与管理员相关的,那么这可能就是您要寻找的。如果您想从C#驱动程序(我想是SQL连接)执行此操作,那么不行