Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从c#驱动程序更新字段_C#_Mongodb_Indexing - Fatal编程技术网

从c#驱动程序更新字段

从c#驱动程序更新字段,c#,mongodb,indexing,C#,Mongodb,Indexing,我有这样一个文档集: { "_id" : ObjectId("4fb21439f31dfd122ce39c4a"), "Name" : "Freelander 2", "Manufacture" : "Landrover" } IMongoQuery query = Query.Exists("Name", true) var results = myCollection.Find(query); IMongoQuery query = Query.Exists("n

我有这样一个文档集:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);
我正在使用C#驱动程序,想检查“Name”字段是否存在;如果没有,我需要从代码中更新它。有人能帮忙吗?请分享示例代码,因为我是mongoDB的新手。

您可以使用操作符:

db.myCollection.find( { Name: { $exists: true } } );
使用C#驱动程序,等价物如下:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);
要设置一个不存在的值,可以使用如下Update语句:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);
您可以使用操作符:

db.myCollection.find( { Name: { $exists: true } } );
使用C#驱动程序,等价物如下:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);
要设置一个不存在的值,可以使用如下Update语句:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);

我假设您希望将所有没有名称字段的文档更新为相同的值。您可以在mongo shell中这样做:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);
你可以在C中做同样的事情,比如:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);

我假设您希望将所有没有名称字段的文档更新为相同的值。您可以在mongo shell中这样做:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);
你可以在C中做同样的事情,比如:

{
    "_id" : ObjectId("4fb21439f31dfd122ce39c4a"),
    "Name" : "Freelander 2",
    "Manufacture" : "Landrover"
}
IMongoQuery query = Query.Exists("Name", true)
var results = myCollection.Find(query);
IMongoQuery query = Query.Exists("name", true);
IMongoUpdate update = Update.Set("Name", "newvalue");
myCollection.Update(query, update);
> db.test.update({Name:{$exists:false}}, {$set:{Name:"xyz"}}, false, true)
var query = Query.Exists("Name", false);
var update = Update.Set("Name", "xyz");
collection.Update(query, update, UpdateFlags.Multi);
是否检查“名称”是否存在?是否检查“名称”是否存在?