小编Rub*_*ONO的帖子

什么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
查看次数

我如何在本地使用git命名空间?

我有一个有趣的用例,我希望通过GitLab共享存储库- 但是我们公司的每个用户的回购数量有限,所以我必须通过隐私来配置这些(即代替项目1的回购1,我有团队1的项目1和2→回购1,团队2的项目3和4→回购2).

起初,我打算在分支名称创建伪命名空间,例如project1-branch1,project2-branch1,project2-branch2-但是我后来了解到,git的包括名称空间是应该区分不同的命名空间的参考,同时共享一个对象存储功能.我试图通过承诺不同的分支,以不同的命名空间本地测试这一点,但是我仍然看到任何所有分支(或没有!)命名空间:

$ git init .
Initialized empty Git repository in ~/tmp/test/.git/

$ git --namespace test1 checkout --orphan test1
Switched to a new branch 'test1'

$ touch test1

$ git --namespace test1 add -- test1

$ git --namespace test1 commit -m test1
[test1 (root-commit) 27f9d70] test1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test1

$ git --namespace test2 checkout --orphan test2
Switched to a new branch …
Run Code Online (Sandbox Code Playgroud)

git collaboration version-control namespaces gitlab

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

为什么mongo会修剪空间?

我注意到在将文档保存到集合时,MongoDB将多个空间折叠在一起(放入一个空间).它不仅仅是前导和尾随空格,而是任何空间序列 - 只有空格,而不是所有空格(仅用空格和制表符测试).当使用Java驱动程序以及交互式mongo shell时会发生这种情况,所以我猜它是数据存储区本身的"特性".

不可否认,我不喜欢我的价值观中无关的空白,我在剥离它们的过程中发现了这一点.但是,这种行为似乎很奇怪,因为数据存储通常被期望避免"烹饪"或以其他方式更改数据,超出符合底层存储约束的最低限度.否则(未向用户/开发人员声明)可能导致数据丢失或精度降低.此外,为什么要折叠空间而不是在头部和尾部完全修剪它们 - 为什么它们会在非空间角色之间折叠呢?

    > db.test.remove()
    > db.test.save({x: "     x     \t\t\t     x     "})
    > db.test.findOne()
    { "x" : " x \t\t\t x " }
Run Code Online (Sandbox Code Playgroud)

我是否错误地启用了此功能,还是默认启用?我在JIRA上找不到任何东西.这对我来说似乎是一个错误,但也许我只是特别的.MongoDB版本2.0.2

mongodb mongodb-java mongo-shell

6
推荐指数
1
解决办法
1715
查看次数

Spring Batch的Mongo存储库?

Spring Batch是否有基于Mongo的作业存储库?如果没有,我是否需要实施JobInstanceDao及其兄弟姐妹?是否有任何例子或现有作品可以帮助这项工作?

spring mongodb spring-batch spring-data spring-data-document

6
推荐指数
1
解决办法
3082
查看次数

Mongo shell 中的 NumberLong 算术

如何在 Mongo shell 中对 NumberLong 值执行精确算术?据我了解,Javascript 只有一种数字类型 -number通常仅限于 54 位浮点精度。

使用(例如)标准加法的直接算术显示将强制转换为较低精度类型:

> NumberLong("123456789012345678")+NumberLong("1") 
123456789012345680
> NumberLong("123456789012345678")+NumberLong("2")
123456789012345680
Run Code Online (Sandbox Code Playgroud)

我可以看到如何使用字符串表示形式提取 NumberLong 的部分,但这似乎效率低下,并且对于增量或除法等算术运算没有用处。

javascript mongodb

5
推荐指数
1
解决办法
2801
查看次数

5
推荐指数
2
解决办法
658
查看次数