如何在猫鼬中为图像使用默认 url?
How to use default url for image in mongoose?
var mongoose = require("mongoose");
var passportLocalMongoose = require("passport-local-mongoose");
var url = "https://i.stack.imgur.com/34AD2.jpg";
var UserSChema = new mongoose.Schema({
firstName: String,
lastName: String,
email: String,
profilePic: {type: String, default: url},
username: String,
password: String,
isAdmin: {type: Boolean, default: false}
});
UserSChema.plugin(passportLocalMongoose);
module.exports = mongoose.model("User", UserSChema);
上面提到的是我的代码,我尝试将字符串设置为 url 并使用它,但它不起作用。每当我去检查 mongo shell 中的值时,profilePic 将为空。
如果您的 mongo collection 中已经有文档,它不会在数据库中为它们更新图像 URL,它会添加默认 URL 时您将保存任何新数据,如果您使用 mongoose 查找它们,还将添加旧记录。
因此,在使用 mongoose 时,您将始终在代码中获得默认值 https://i.stack.imgur.com/34AD2.jpg
,但如果在 mongo shell 中看到,旧文档的 profilePic 将是空.
如果您还想在所有旧文档中更新 profilePic 的默认值,运行 Mongo 控制台中的以下查询。
db.getCollection('users').updateMany({},{$set:{"profilePic": "https://i.stack.imgur.com/34AD2.jpg"}})
var mongoose = require("mongoose");
var passportLocalMongoose = require("passport-local-mongoose");
var url = "https://i.stack.imgur.com/34AD2.jpg";
var UserSChema = new mongoose.Schema({
firstName: String,
lastName: String,
email: String,
profilePic: {type: String, default: url},
username: String,
password: String,
isAdmin: {type: Boolean, default: false}
});
UserSChema.plugin(passportLocalMongoose);
module.exports = mongoose.model("User", UserSChema);
上面提到的是我的代码,我尝试将字符串设置为 url 并使用它,但它不起作用。每当我去检查 mongo shell 中的值时,profilePic 将为空。
如果您的 mongo collection 中已经有文档,它不会在数据库中为它们更新图像 URL,它会添加默认 URL 时您将保存任何新数据,如果您使用 mongoose 查找它们,还将添加旧记录。
因此,在使用 mongoose 时,您将始终在代码中获得默认值 https://i.stack.imgur.com/34AD2.jpg
,但如果在 mongo shell 中看到,旧文档的 profilePic 将是空.
如果您还想在所有旧文档中更新 profilePic 的默认值,运行 Mongo 控制台中的以下查询。
db.getCollection('users').updateMany({},{$set:{"profilePic": "https://i.stack.imgur.com/34AD2.jpg"}})