Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Mongoose模式中创建一个字段,该字段引用同一文档中的其他字段_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 在Mongoose模式中创建一个字段,该字段引用同一文档中的其他字段

Node.js 在Mongoose模式中创建一个字段,该字段引用同一文档中的其他字段,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,因此,如果修改了原始字段,则复制的字段也会更改 伪代码示例: userSchema = { firstName: {type: String}, lastName: {type: String}, displayName: firstName + ' ' + lastName } 这样的事情可能吗 编辑:我需要根据该字段发出请求,因此我不能在检索字段时仅对其进行搜索。您可以使用钩子 通常情况下,您会在DAO中的字段中添加字符。这样,您可以减少数据冗余,同时仍然获得相同的

因此,如果修改了原始字段,则复制的字段也会更改

伪代码示例:

userSchema = {
    firstName: {type: String},
    lastName: {type: String},
    displayName: firstName + ' ' + lastName
}
这样的事情可能吗

编辑:我需要根据该字段发出请求,因此我不能在检索字段时仅对其进行搜索。

您可以使用钩子


通常情况下,您会在DAO中的字段中添加字符。这样,您可以减少数据冗余,同时仍然获得相同的结果。是的,但是如果我想基于该字段发出请求,该怎么办?对不起,我应该说得更具体些。我将编辑我的问题。你可以在名字和姓氏上创建一个文本索引。。
userSchema = {
    firstName: {type: String},
    lastName: {type: String},
    displayName: {type: String}
}

userSchema.pre('save', function(next) {
    this.displayName = this.username+' '+this.lastName;
    next();
});