2017-03-24 4 views
0

특정 이름부터 시작하여 모음의 배열에서 키 이름을 가져 오는 방법.배열 키 이름은 mongodb에서 특정 이름으로 시작합니다.

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

당신은 다음과 같이하여 MongoDB에서 정규식 검색을 수행 할 수 있습니다 :이 ABC로 시작하는 모든 문서를 검색합니다

db.collectionname.find({field:/abc/},function(err,data) { 
    //your code 
} 

. 하나 이상의 정규식에서 검색 싶다면, 당신은 배열 내에서 값을 검색 할 수 $in 연산자를 사용할 수 있습니다

db.collectionName.find({field:{$in:[/abc/,/what/]}},function(err,data){ 
    //your code 
} 

이 필드는 "필드는"ABC로 시작하는 모든 문서를 반환합니다 또는 무엇

희망이 내 대답은 도움이되었다.

+0

키 이름 만 원하십니까? –

+0

무엇을 의미합니까? –

+0

var allKeys = {}; db.collectionName.find(). forEach (function (doc) {Object.keys (doc) .forEach (function (key) {allKeys [key] = 1})}); allKeys; 이 키 이름을 볼 수 있습니다. 이제 특정 이름으로 시작하는 키 이름을 원하는 키 이름을 원하십니까? –