如何从特定名称开头的集合中的数组中获取键名称;
var regExp=/specific name of key/
var cur = db.collectionName.find();
cur.forEach(function(doc)
{{ Object.keys(doc).forEach(function(key)
{return key.match(regExp)})}}
var allKeys = {};
var regExp=/Alar/
db.collectionName.find().forEach(function(doc){Object.keys(doc).forEach(function(key){allKeys[key]=1})});
allKeys;
以上代码输出;
{
"_id" : 1,
"id" : 1,
"type" : 1,
"Name" : 1,
"device_type" : 1,
"grammerData" : 1,
"code" : 1,
"Command" : 1,
"description" : 1,
"created_by" : 1,
"last_updated_time" : 1
}
now i want some script from which i can find those keys which start with specific name.
它工作不正常,请帮帮我?
答案 0 :(得分:0)
您可以在mongodb中执行正则表达式搜索,如下所示:
db.collectionname.find({field:/abc/},function(err,data) {
//your code
}
这将搜索以 abc 开头的所有文档。如果您想从多个正则表达式中搜索,可以使用$in
运算符搜索数组中的值:
db.collectionName.find({field:{$in:[/abc/,/what/]}},function(err,data){
//your code
}
这将返回字段"字段"的所有文档。以 abc 或内容
开头希望我的回答很有帮助。