数组键名以mongodb中的特定名称开头

时间:2017-03-24 06:10:02

标签: arrays mongodb key

如何从特定名称开头的集合中的数组中获取键名称;

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.

它工作不正常,请帮帮我?

1 个答案:

答案 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 内容

开头

希望我的回答很有帮助。