ドキュメントをコレクションに保存しましたが、findOne を介して取得しようとすると、間違った結果が返されます: 私の Mongoose モデルは次のようになります:
var db = require('../db');
var mongoose = db.mongoose_var;
var companySchema = mongoose.Schema({
companyName:String
});
module.exports = mongoose.model('Company',companySchema);
次に、server.jsで次のように使用しています:
var CompanySchema = require('./schemas/companySchema');
そして、次のように既に挿入されたレコードを見つけようとしているとき:
CompanySchema.findOne({'Company.companyName':jsonObj.companyName},function(err,companyName){
console.log('companyName foudn:'+companyName);
if(companyName !== null){
res.status(404).json({status:'Name already in the DB'});
return;
}else{...
このレコードを見つけることができませんが、おそらく最初のレコードを返します。次のレコードが thedb に存在します。
別の会社を追加しようとしていて、この findOne を使用してこの名前が既に存在するかどうかを確認すると、findOne はこのレコードのみを返します。私のログスニペット
一方、mongo シェルは適切な結果のみを返します。
mongo シェルでは、findOne Api ではなく、フィールドと値の周りに " " を使用しています。前もって感謝します