gpt4 book ai didi

MongoDB获取字段值的长度

转载 作者:行者123 更新时间:2023-12-04 13:48:05 24 4
gpt4 key购买 nike

我已经看过这些帖子:

String field value length in mongoDB

Select string length in mongodb

但我的问题是不同的。
当我运行此查询时:

db.usercollection.find({$where: "this.profile.name.length < 20"}).limit(2);

我收到以下错误:
Error: error: {
"ok" : 0,
"errmsg" : "TypeError: this.profile is undefined :\n_funcs2@:1:24\n",
"code" : 139
}

当我运行此查询时:
db.usercollection.find({"profile.name": {$exists: true}, $where: "this.profile.name.length <20"}).limit(2); 

没有错误,但结果为空,尽管我的收藏有 2 个文件,其中 profile.name<20

MongoDB 外壳版本:3.2.11

最佳答案

有一个文件在profile键(嵌入文档)不存在,并且 javascript 表达式抛出错误,因为它试图访问对象的不存在属性:
db.usercollection.find({$where: "this.profile.name.length < 20"}).limit(2);
您的第二个查询工作正常,因为它匹配 profile.name 的所有文档。存在:

db.usercollection.find({"profile.name": {$exists: true}, $where: "this.profile.name.length <20"}).limit(2); 

第二个查询 应该返回 想要的结果。

关于MongoDB获取字段值的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41427451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com