collection().field的进阶问题?
发布于 4 年前 作者 ctan 2282 次浏览 来自 问答

云开发数据库中有数据如下:

{
	_id:"xxxx",
	openid:"1234",
	exp1:{
		name:"张三",
		age:15,
		sex:1,
		books:["书1","书2","书3"]
	}
}

在我希望返回的数据只包含

openid, 以及 exp1.nameexp1.books

试着这样写:

var d = await db.collection("CaseList").field({
            _id: false,
            openid: true,
            exp1: {
                name: true,
                books: true
            }
        }).get();

在开发工具的云开发数据库中调用,可以运行,但是放到云函数中,确报错,

[FailedOperation.Query] (BadValue) >1 field in obj: { name: true, books: true }

各位大神知道是什么原因么?或者可以有其他什么方法只返回相应的数据么?

1 回复
var d = await db.collection("CaseList").field({
            _id: false,
            openid: true,
            'exp1.name': true,
            'exp1.books': true,
        }).get();

回到顶部