我有一个名为companies
的集合,该集合的数组类型为categories
。
如何将所有类别数组中的空格('')替换为'-'?
我必须使用cmd执行此操作
我假设您的数据像下面这样
{
"_id" : ObjectId("5e7f809623d919fb0fc776a5"),
"categories" : [
"mayur ",
" wadekar ",
" stackoverflow"
]
}
如果要替换第一次出现的空格,请使用
db.companies.find({}).forEach(function(e,i) {
var data = e.categories
for (var i = 0; i < data.length; i++) {
e.categories[i] = e.categories[i].replace(" ","-");
}
db.companies.save(e);
});
如果要替换所有空格,请使用
db.companies.find({}).forEach(function(e,i) {
var data = e.categories
var find = " "; // find for space in whole string
var re = new RegExp(find, 'g');
for (var i = 0; i < data.length; i++) {
e.categories[i] = e.categories[i].replace(re,"-");
}
db.companies.save(e);
});
mongod
mongo
使用YourDbName
var bulk = db.Companies.initializeUnorderedBulkOp();
bulk.find({MainCategories:null}).update({$ set:{MainCategories:[{Key:“ Uncategorized”,Value:“ uncategorized”}]}});
bulk.execute();