在这样的简单搜索中:
find.where('name LIKE ?', "%#{search}%")
Run Code Online (Sandbox Code Playgroud)
我明白这#{search}只是字符串插值.这些%符号有什么作用?
我被困在一件简单的事情上.我有一系列名为"标签"的布尔值.能够通过布尔值访问数组的每个元素对我来说很重要:
public boolean energetic, calming, happy, sad;
public boolean[] trackTags = {energetic, calming, happy, sad};
Run Code Online (Sandbox Code Playgroud)
我传入并为trackTags数组分配布尔值(让我们说[true,true,true,false].所以,当我调用trackTags [0]时,我得到"真实".但是,当我打印"精力充沛"时 -它应该与trackTags [0]相同,值总是为false.我知道布尔值初始化为false,但是当我在trackTags数组中切换某些值为"true"时,命名元素是否也不会改变?
第二个问题:对于我与布尔变量名称交互的好方法是什么?具体来说,如果我传入一个String [] [happy,sad],然后只想切换对应于我的String数组中名称的boolean []值,这是否可行?我在循环遍历两个数组的元素时没有问题,但我显然无法将字符串与布尔值进行比较.
总而言之,是否有更好的方式与布尔名称进行交互?我真的很困惑.
我正在构建一个节点/快速应用程序,并使用express-session和mongo-connect模块来存储我的会话并在重新启动时保留它们.
但是,每次重新启动服务器时仍会生成新的Cookie ID.我把问题缩小到我的会话秘密,这是一个随机生成的16个字符串,这是我的会话代码:
app.use(session({
secret: dbops.randomString(16), // generate a 16 random char string
saveUninitialized: false,
resave: true,
store: new MongoStore({
db: thisDb,
ttl: 14 * 24 * 60 * 60
})
}));
Run Code Online (Sandbox Code Playgroud)
问题在于我的randomString功能 - 当我用静态字符串替换它时,我的会话在服务器重启时仍然存在.我的cookie秘密应该是什么?我应该选择一个长的随机字符串并存储在ENV变量中吗?
我想我通常仍然对字符串的目的感到困惑,因为我的Cookie SID似乎是随机生成的.