Meteor / MongoDB:如何将$ gt添加到对象`selectorObject [" key"] = {$ gt:value};`?

时间:2015-12-17 12:11:05

标签: javascript mongodb meteor

我正在为UPSERT查询构建一个selectorObject。通常我会用selectorObject[“key”] = value;添加所有selectObjects,但是如果要添加的条件是key = {$ gt:value},我该怎么办?

我尝试过以下方法:

1)selectorObject[“key”] = { $gt: value };

2)selectorObject["key"] = {"$gt": value };

3)selectorObject["key"].$gt = value;

前两个导致此错误消息:MongoError: The dollar ($) prefixed field '$gt' in 'key.$gt' is not valid for storage.

第三个陈述产生Exception in callback of async function: TypeError: Cannot set property '$gt' of undefined

一定有可能。我确实需要使用selectObject和modifierObject表单,因为selectorObject中的一些依赖于if子句。

编辑: 解决方案没有。 1如果它是UPDATE,则表示有效(意味着在执行UPSERT时存在包含这些选择的文档但在没有文档且基本上执行INSERT时失败。后面部分的错误信息是:MongoError: The dollar ($) prefixed field '$gt' in 'key.$gt' is not valid for storage.

.dot符号只是写解决方案的另一种方式。因此也失败了。

仅供参考 - 我使用的是MongoDB v3.2和Meteor 1.1.0.3

提前感谢您的帮助!

0 个答案:

没有答案