相关疑难解决方法(0)

什么Javascript库可以针对对象评估类似MongoDB的查询谓词?

是否有一个javascript库,允许我在类似于MongoDB的查询语言的DSL中表达对象谓词?为了清楚大型程序,我希望能够说:

var obj = { 
    a: 1, 
    b: 'abcdefg' 
}, qry = { 
    a: { $gt: 0 }, 
    b: /^abc/ 
}; 

if(query(qry).matches(obj)) { 
    // do something appropriate since 
} 
Run Code Online (Sandbox Code Playgroud)

代替:

var obj = { 
    a: 1, 
    b: 'abcdefg' 
}; 
if(obj.a>0 && qry.b.test(obj.b)) { 
    // do something appropriate 
} 
Run Code Online (Sandbox Code Playgroud)

我正在使用Node.js,因此NPM上的任何内容都会很棒.如果库可以从数组中选择对象以及仅匹配单个对象,那将是一个额外的好处.

我回顾了这两个相关的问题,但对我的情况并没有特别的帮助:

javascript predicate mongodb node.js

16
推荐指数
2
解决办法
3660
查看次数

实现类似goMongoDB的Query表达式对象评估

我一直在寻找类似MongoDb(http://docs.mongodb.org/manual/applications/read/#find,docs.mongodb.org/manual/reference/operators/)查询表达式对象评估函数的实现或者一类.它可能不包括所有高级功能,并且应该具有可扩展的体系结构.

类似MongoDB的查询表达式对象易于理解和使用,提供编写干净,自解释代码的能力,因为要搜索的查询和对象都是关联数组.

基本上说它是一个方便的功能,从PHP数组中提取信息.知道了数组结构(arrayPath),它将允许对多维数组数据执行操作,而不需要多个嵌套循环.

如果您不熟悉MongoDb,请查看给定的表达式对象和数组以进行搜索.

为简单起见,我把它写成JSON字符串.对象内容毫无意义,只需显示MongoDb查询语法即可.

类似MongoDb的查询表达式对象

{
    "name": "Mongo",
    "type": "db",
    "arch": {
        "$in": [
            "x86",
            "x64"
        ]
    },
    "version": {
        "$gte": 22
    },
    "released": {
        "$or": {
            "$lt": 2013,
            "$gt": 2012
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

要搜索的数组

[
    {
        "name": "Mongo",
        "type": "db",
        "release": {
            "arch": "x86",
            "version": 22,
            "year": 2012
        }
    },
    {
        "name": "Mongo",
        "type": "db",
        "release": {
            "arch": "x64",
            "version": 21,
            "year": 2012
        }
    },
    {
        "name": "Mongo",
        "type": …
Run Code Online (Sandbox Code Playgroud)

php if-statement multidimensional-array query-expressions mongodb

13
推荐指数
2
解决办法
1537
查看次数

PHP - 查找数组的父键

我试图找到一种方法来返回数组的父键的值.

例如,从下面的数组我想找出父元素的键,其中$ array ['id'] =="0002".父键是显而易见的,因为它在这里定义(它将是'产品'),但通常它是动态的,因此问题.但是'id'的'id'和值是已知的.

    [0] => Array
        (
            [data] => 
            [id] => 0000
            [name] => Swirl
            [categories] => Array
                (
                    [0] => Array
                        (
                            [id] => 0001
                            [name] => Whirl
                            [products] => Array 
                               (
                                    [0] => Array
                                        (
                                            [id] => 0002
                                            [filename] => 1.jpg
                                         )
                                    [1] => Array
                                        (
                                            [id] => 0003
                                            [filename] => 2.jpg
                                         )
                                )
                         )
                 )
          )
Run Code Online (Sandbox Code Playgroud)

php arrays traversal key parent

7
推荐指数
1
解决办法
2万
查看次数