以上就是给各位分享mongoose独特:true无效,其中也会对mongoose.js进行解释,同时本文还将给你拓展2022-09-30:以下go语言代码输出什么?A:truetruefalsetru
以上就是给各位分享mongoose独特:true无效,其中也会对mongoose.js进行解释,同时本文还将给你拓展2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true、2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 package main import “f、Apache下commons-lang工具包下BooleanUtils类的xor(true, true, true)结果为false,为什么?、egg(25)--mongoose索引 ,扩展Mongoose Model的静态方法和实例方法等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- mongoose独特:true无效(mongoose.js)
- 2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true
- 2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 package main import “f
- Apache下commons-lang工具包下BooleanUtils类的xor(true, true, true)结果为false,为什么?
- egg(25)--mongoose索引 ,扩展Mongoose Model的静态方法和实例方法
mongoose独特:true无效(mongoose.js)
为什么在此脚本中猫鼬唯一不起作用
var child_process = require(''child_process''); // Load required packages child_process.exec("mongo test --eval ''db.users.drop();''", function(err){ var mongoose = require(''mongoose''); console.log(mongoose.version); mongoose.connect(''mongodb://localhost:27017/test''); // Define our user schema var json = {}; json.phone = { type: String, required: true, unique: true}; var UserSchema = new mongoose.Schema(json); var Model = mongoose.model(''user'', UserSchema); var jp = new Model({ phone: "123456"}); mongoose.connection.on(''open'', function(){ console.log(jp); jp.save(function(err){ console.log(err); var jp2 = new Model({ phone: "123456"}); console.log(jp2); jp2.save(function(err){ console.log(err); process.exit(); }); }) });});
我很困惑,结果就像
3.8.20{ phone: ''123456'', _id: 54856cceb5b40f7a88fcc2af }null{ phone: ''123456'', _id: 54856cceb5b40f7a88fcc2b0 }null
谢谢您的帮助。
答案1
小编典典发生这种情况是因为您要在mongoose
完成索引创建之前保存重复的文档。在您的应用启动后,Mongoose可以随时随地创建索引。
因此,为确保仅在创建索引后才保存文档,您必须侦听index
模型事件。例如:
Model.on(''index'', function (error) { console.log(jp); jp.save(function(err){ console.log(err); var jp2 = new Model({ phone: "123456"}); console.log(jp2); jp2.save(function(err){ console.log(err); process.exit(); }); })});
现在,当您尝试保存第二个文档(重复的文档)时,MongoDB将引发错误,因为您的save
调用将在创建索引后立即运行。
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true true false false;D: true true false true true。
package main
func main() {
var (
a int = 0
b int64 = 0
c interface{} = int(0)
d interface{} = int64(0)
)
println(c == 0)
println(c == a)
println(c == b)
println(d == b)
println(d == 0)
}
答案选A。第3个为false,是因为c是int类型,b是int64类型。第5个为false,那是因为d是int64类型,0是int类型,这个0很容易被当成无类型,会误认为是true。从这里可以看出,做比较的时候,是没有无类型的概念的。
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 package main import “f
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
package main
import "fmt"
func main() {
s := []string{"A", "B", "C"}
t := s[:1]
fmt.Println(&s[0] == &t[0])
u := append(s[:1], s[2:]...)
fmt.Println(&s[0] == &u[0])
}
答案选C。这里的关键点是 append(s[:1], s[2:]...) 会不会导致扩容。s[:1] 相当于 s[:1:3],即容量是也是 3,因此 append 一个元素(s[2:]...)并不会导致扩容,因此第一个元素还是原来 s[0] 的元素。
Apache下commons-lang工具包下BooleanUtils类的xor(true, true, true)结果为false,为什么?
如何解决Apache下commons-lang工具包下BooleanUtils类的xor(true, true, true)结果为false,为什么??
Apache下commons-lang工具包下BooleanUtils类的xor(true,true,true)结果为false,但是System.out.println(true ^ true ^ true) 的结果是true。为什么?
public class Test {
public static void main(String[] args) {
System.out.println(org.apache.commons.lang.BooleanUtils.xor(new boolean[]{true,true}));
System.out.println(org.apache.commons.lang3.BooleanUtils.xor(new boolean[]{true,true}));
System.out.println(true ^ true ^ true);
}
}
/*
result:
false
false
true
*/
解决方法
您看到此行为的最可能原因是您使用的是旧版本的 commons-lang (
较新版本的行为 the same as Java(即从左到右一次计算一个异或)。
然而,旧版本使用 different approach:只有当整个数组中恰好有一个真值时,它们才返回真值。
此行为被认为不正确(请参阅 LANG-921)并已修复。
egg(25)--mongoose索引 ,扩展Mongoose Model的静态方法和实例方法
索引
索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更
快。MongoDB 的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的查询
优化技巧
user.js
var mongoose = require(''./db.js'');
var UserSchema = mongoose.Schema({
name:String,
sn:{
type:String,
},
age:Number,
status:{
type:Number,
default:1
}
})
//定义model操作数据库
// var UserModel = mongoose.model(''User'',UserSchema); //将生成users表
var UserModel = mongoose.model(''User'',UserSchema,''user'');
module.exports = UserModel
查找user表的索引
db.user.getIndexes()
增加字段sn的索引
sn:{
type:String,
index:true
},
user.js
var mongoose = require(''./db.js'');
var UserSchema = mongoose.Schema({
name:String,
sn:{
type:String,
index:true
},
age:Number,
status:{
type:Number,
default:1
}
})
//定义model操作数据库
// var UserModel = mongoose.model(''User'',UserSchema); //将生成users表
var UserModel = mongoose.model(''User'',UserSchema,''user'');
module.exports = UserModel
查找索引
扩展Mongoose Model的静态方法
user.js
增加UserSchema.statics.findBySn
var mongoose = require(''./db.js'');
var UserSchema = mongoose.Schema({
name:String,
sn:{
type:String,
index:true
},
age:Number,
status:{
type:Number,
default:1
}
})
UserSchema.statics.findBySn=function(sn,cb){
this.find({"sn":sn},function(err,docs){
cb(err,docs)
})
}
//定义model操作数据库
// var UserModel = mongoose.model(''User'',UserSchema); //将生成users表
var UserModel = mongoose.model(''User'',UserSchema,''user'');
module.exports = UserModel
index.js
先增加sn=123456
的数据
var user = new UserModel({
name:''标题3'',
age:20,
sn:"123456"
})
user.save(function(err,doc){
if(err){
console.log(err);
return;
}
console.log(doc)
})
使用UserSchema.statics.findBySn
方法
var UserModel = require(''./user.js'');
//静态方法
UserModel.findBySn(''123456'', function (err, doc) {
if (err) {
console.log(err);
return;
}
console.log(doc)
})
运行
我们今天的关于mongoose独特:true无效和mongoose.js的分享就到这里,谢谢您的阅读,如果想了解更多关于2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true、2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 package main import “f、Apache下commons-lang工具包下BooleanUtils类的xor(true, true, true)结果为false,为什么?、egg(25)--mongoose索引 ,扩展Mongoose Model的静态方法和实例方法的相关信息,可以在本站进行搜索。
本文标签: