下面是官方文档关于_.eq()的功能描述,并且有例子
其中的例子为:
// 这种写法表示 stat 对象等于 { publishYear: 2018, language: 'zh-CN' }
const _ = db.command
db.collection('articles').where({
stat: _.eq({
publishYear: 2018,
language: 'zh-CN'
})
})
我想问一下,下面是不是应该相当于friend对象等于 { name:'张三', sex:'男', age:18 } ? 但为什么找不到这条记录?
下面是测试的结果,一张是所有的记录,一张搜索满足条件的,大家看看是怎么回事?
大家可以把下面的数据保存为“test.json”,然后导入到集合中测试一下:
{"_id":"023ce9556002d03304a75ac16ed9e97b","gh":"181988022","xm":"风云","friend":{"age":18.0,"name":"张三"}} {"_id":"79550af2600aa6350079dc4549732ed7","gh":"555555555","xm":"大姐大"} {"_id":"1526e12a6012b850012b32285374caeb","gh":"252018056","xm":"小豆豆","friend":{"sex":"男","age":18.0,"name":"张三"}}
代码我也放一份:
db.collection('test') .where({ friend:_.eq({ age:18, name:'张三', sex:'男' }) }) .get()
你好,反馈已收到,我们看看。
如果忽略性别,则可以找到第一条记录,加上性别,却找不到第三条记录,why????