猫鼬和部分选择/更新

Yar*_*veh 6 mongoose mongodb

在node.js中,当我使用Mongoose时:

是否可以只获取大对象的某些值?

是否有可能只更新一些值?

Joh*_*yHK 12

要仅获取某些字段,请将一串字段名称作为第二个参数传递到find:

// Include the first and last properties, and exclude _id
Model.find({}, 'first last -_id', callback)  
Run Code Online (Sandbox Code Playgroud)

或使用此处描述的对象表示法:

Model.find({}, {first: 1, last: 1, _id: 0}, callback)
Run Code Online (Sandbox Code Playgroud)

要仅更新某些属性,请使用update$set修饰符:

// Only update the name property
Model.update({_id: 12345}, {$set: {name: 'New name'}}, callback); 
Run Code Online (Sandbox Code Playgroud)