javascript

时间:2017-02-02 02:41:39

标签: javascript node.js mongodb

在MongoDb中应用过滤器

我需要在嵌入式文档中的mongoDb中应用过滤器,以便如何进行查询,如

示例:

var query = {
_id:userId,
'match.Id':matchId,
'match.userId':userId1
}

现在我想应用过滤器假设

案例1:我的查询应该像

 var query = {
    _id:userId,
    'match.Id':matchId,

    }

案例2:

 var query = {
    _id:userId,
    'match.userId':userId1
    }

可能有很多这样的案例

所以我的问题是如何在node.js / javascript

中创建这个查询对象

我的工作:我可以在对象中创建多个键,但是如下所示创建键不起作用

var query={}
query._id:userId // works
query.'match.userId':matchId // error
query.match.userId:matchId //error
尝试下面的代码得到了所需的输出,但它带有方括号,但arr的类型是对象

var arr = [];
arr[ 'key3.abc' ] = "value3";
arr[ 'key2.abc' ] = "value3";
console.log(arr)//[ 'key3.abc': 'value3', 'key2.abc': 'value3' ]

期望的输出:

{'key3.abc': 'value3', 'key2.abc': 'value3'}

1 个答案:

答案 0 :(得分:4)

[]更改为{}

 var obj = {}; 
 obj[ 'key3.abc' ] = "value3";       
 obj[ 'key2.abc' ] = "value3"; 

 console.log(obj) // { 'key3.abc': 'value3', 'key2.abc': 'value3'}

N.B。当密钥包含[]时,我们可以按方(special character)表示法分配或访问JavaScript对象,例如空间,点等。