0

我有这段代码:

db.collection('coders', function(err, collection) {
        collection.find(toFind).toArray(function(err, items) {
            res.send(items);
        });

where toFindis something like {"position":2,"$or":[{"position":{"$lt":20}},{"name":"whatever"}]} It is a String,所以前面的代码不会执行,因为它需要一个对象。我已经知道,我可以从 String 创建对象

var obj={}
obj[key] = {value}

但是我怎样才能创建一个没有 key 的对象呢?

4

2 回答 2

1

要将toFind字符串转换为可以传入的对象,请find使用JSON.parse

toFind = JSON.parse(toFind);
于 2013-03-01T13:27:56.053 回答
0

JavaScript 中的一切都是对象。但是,您显然想要的是一个简单的变量:

obj[key] = value;

您在上面发布的对象将完全像这样定义:

var obj = {
    "position": 2,
    "$or": [{
        "position": {
            "$lt": 20
        }
    }, {
        "name": "whatever"
    }]
};
于 2013-03-01T12:58:50.703 回答