0

我有一个名为people.

我知道我可以这样做:

db.people.find( { $where: "this.lastname == this.firstname" } );

但我怎么能做这样的事情:

db.people.find( { $where: "this.lastname == Acquaintances.lastname" } );

人工翻译:所有至少有一个熟人同名的人。

Acquaintances 是一组子文档。

4

1 回答 1

0

mongodb$where命令类似于map reduce,它在提取的数据上处理 javascript 表达式。它只适用于运行缓慢的后台作业。在任何正常情况下都不要使用它。

function () {
    var arr = [];
    for (i in this.Acquaintances) {
        arr.push(this.Acquaintances[i].lastname);
    }
    return arr.indexOf(this.lastname) > -1;
}

db.people.find(f)

检查此链接以获取更多信息$where

于 2012-10-16T14:52:52.813 回答